[all-commits] [llvm/llvm-project] 0c0232: [lldb] Migrate distutils.version.LooseVersion to p...

llvmgnsyncbot via All-commits all-commits at lists.llvm.org
Tue Feb 20 20:58:29 PST 2024


  Branch: refs/heads/users/wangpc-pp/spr/main.riscv-support-llvmreadsteadycounter-intrinsic
  Home:   https://github.com/llvm/llvm-project
  Commit: 0c02329ff375100ddcf2cb104aebe97bb3c9126f
      https://github.com/llvm/llvm-project/commit/0c02329ff375100ddcf2cb104aebe97bb3c9126f
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-02-19 (Mon, 19 Feb 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
    M lldb/test/API/sanity/TestSettingSkipping.py
    M lldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
    M lldb/test/Shell/helper/build.py

  Log Message:
  -----------
  [lldb] Migrate distutils.version.LooseVersion to packaging (#82066)

The distutils package has been deprecated and was removed from Python
3.12. The migration page [1] advises to use the packaging module
instead. Since Python 3.6 that's vendored into pkg_resources.

[1] https://peps.python.org/pep-0632/#migration-advice


  Commit: d9f9775ac6289271d57671c55166fa0cad61075b
      https://github.com/llvm/llvm-project/commit/d9f9775ac6289271d57671c55166fa0cad61075b
  Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
  Date:   2024-02-19 (Mon, 19 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
    R llvm/test/DebugInfo/fixed-point.ll

  Log Message:
  -----------
  Revert "[llvm] Fix assertion error where we didn't check fixed point types." (#82285)

These changes break the `LLVM::fixed-point.ll` test some targets what
fails the builds for those targets
(more details
https://github.com/llvm/llvm-project/pull/80757#issuecomment-1949382211)

The problem wasn't fixed for few days,

Reverts llvm/llvm-project#80757


  Commit: 0a6c74e21cc6750c843310ab35b47763cddaaf32
      https://github.com/llvm/llvm-project/commit/0a6c74e21cc6750c843310ab35b47763cddaaf32
  Author: Craig Hesling <craig at hesling.com>
  Date:   2024-02-19 (Mon, 19 Feb 2024)

  Changed paths:
    M llvm/CMakeLists.txt
    M llvm/docs/GettingStarted.rst
    M llvm/docs/GettingStartedVS.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/docs/TestingGuide.rst

  Log Message:
  -----------
  [python] Bump Python minimum version to 3.8 (#78828)

As per the RFC
https://discourse.llvm.org/t/rfc-upgrading-llvms-minimum-required-python-version/67571,
raise the minimum Python version to ensure that the Python syntax
doesn't become overly obsolete, to enable new Python feature usage,
and to improve the maintainability of CI.

One of the primary use cases for this higher Python version is to enable
python type annotations that are more aligned with current Python
best practices. This is not only important for our own internal Python
for testing, but for the Python bindings that are exposed to users.


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

  Changed paths:
    M clang/docs/StandardCPlusPlusModules.rst

  Log Message:
  -----------
  [docs] [C++20] [Modules] Ideas for transitioning to modules (#80687)

This patch tries to provide some ideas to transform an existing
libraries to modules. I feel this is helpful for users who is interested
in modules from my observation. While the syntax of modules look easy to
understand, the practice gets harder if the users want to make
compatible work with headers. Especially the `std` module can be
installed in clang18, I think such document may be helpful.

I tried to not be too wordy in this document and I don't want the users
to have impressions that they have to follow this or this is the best
practice. So I tried to use the term `idea` imply the users this is not
compulsory.

I add some regular reviewers for modules, but review opinions from users
are highly recommended.

I want to land this before the releasing of clang18 (in the early
March). We can and should improve this continuously.


  Commit: 49775b1dc0cdb3a9d18811f67f268e3b3a381669
      https://github.com/llvm/llvm-project/commit/49775b1dc0cdb3a9d18811f67f268e3b3a381669
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/unittests/Serialization/CMakeLists.txt
    A clang/unittests/Serialization/PreambleInNamedModulesTest.cpp

  Log Message:
  -----------
  [Serialization] Record whether the ODR is skipped (#82302)

Close https://github.com/llvm/llvm-project/issues/80570.

In

https://github.com/llvm/llvm-project/commit/a0b6747804e46665ecfd00295b60432bfe1775b6,
we skipped ODR checks for decls in GMF. Then it should be natural to
skip storing the ODR values in BMI.

Generally it should be fine as long as the writer and the reader keep
consistent.

However, the use of preamble in clangd shows the tricky part.

For,

```
// test.cpp
module;

// any one off these is enough to crash clangd
// #include <iostream>
// #include <string_view>
// #include <cmath>
// #include <system_error>
// #include <new>
// #include <bit>
// probably many more

// only ok with libc++, not the system provided libstdc++ 13.2.1

// these are ok

export module test;
```

clangd will store the headers as preamble to speedup the parsing and the
preamble reuses the serialization techniques. (Generally we'd call the
preamble as PCH. However it is not true strictly. I've tested the PCH
wouldn't be problematic.) However, the tricky part is that the preamble
is not modules. It literally serialiaze and deserialize things. So
before clangd parsing the above test module, clangd will serialize the
headers into the preamble. Note that there is no concept like GMF now.
So the ODR bits are stored. However, when clangd parse the file
actually, the decls from preamble are thought as in GMF literally, then
hte ODR bits are skipped. Then mismatch happens.

To solve the problem, this patch adds another bit for decls to record
whether or not the ODR bits are skipped.


  Commit: f02f169cecf3aa243f73722f46a905f3012bf040
      https://github.com/llvm/llvm-project/commit/f02f169cecf3aa243f73722f46a905f3012bf040
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/unittests/Serialization/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 49775b1dc0cd


  Commit: 2dfa30d0ca6fb6991640a18e53401d82f567f8ff
      https://github.com/llvm/llvm-project/commit/2dfa30d0ca6fb6991640a18e53401d82f567f8ff
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-02-19 (Mon, 19 Feb 2024)

  Changed paths:
    M llvm/CMakeLists.txt
    M llvm/docs/GettingStarted.rst
    M llvm/docs/GettingStartedVS.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/docs/TestingGuide.rst

  Log Message:
  -----------
  Revert "[python] Bump Python minimum version to 3.8 (#78828)"

This reverts commit 0a6c74e21cc6750c843310ab35b47763cddaaf32.

This created a lot of post-commit failures due to buildbots running
older versions of Python.


  Commit: 7661ade5d1ac4fc8e1e2339b2476cb8e45c24641
      https://github.com/llvm/llvm-project/commit/7661ade5d1ac4fc8e1e2339b2476cb8e45c24641
  Author: Tacet <advenam.tacet at trailofbits.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/18.rst

  Log Message:
  -----------
  [libc++] Add details about string annotations (#80912)

This commit adds information that only long strings are annotated, and
with all allocators by default.

To read why short string annotations are not turned on yet, read comments in a related
PR: https://github.com/llvm/llvm-project/pull/79536

---------

Co-authored-by: Mark de Wever <zar-rpg at xs4all.nl>


  Commit: f6ac598c104ed3c9f4bcbbe830f86500c8d1013e
      https://github.com/llvm/llvm-project/commit/f6ac598c104ed3c9f4bcbbe830f86500c8d1013e
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/utils/release/test-release.sh

  Log Message:
  -----------
  [Release] Don't build during test-release.sh Phase 3 install (#82001)

As described in [test-release.sh ninja install does builds in Phase
3](https://github.com/llvm/llvm-project/issues/80999), considerable
parts of Phase 3 of a `test-release.sh` build are run by `ninja
install`, ignoring both `$Verbose` and the parallelism set via `-j NUM`.

This patches fixes this by not specifying any explicit build target for
Phase 3, thus running the full build as usual.

Tested on `sparc64-unknown-linux-gnu`.


  Commit: 96e56573089b2a211c71660b0ffc7deb21049bdd
      https://github.com/llvm/llvm-project/commit/96e56573089b2a211c71660b0ffc7deb21049bdd
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    A clang/test/Modules/pr81745.cppm

  Log Message:
  -----------
  [NFC] [Modules] Add a test for issue 81745

Although the root cause of
https://github.com/llvm/llvm-project/issues/81745 shows not related to
modules, it should be good to add a regression test for that.


  Commit: 5911334650a77b9f06009ab906ab778e6ccd90c8
      https://github.com/llvm/llvm-project/commit/5911334650a77b9f06009ab906ab778e6ccd90c8
  Author: martinboehme <mboehme at google.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp

  Log Message:
  -----------
  [clang][dataflow][NFC] Add a FIXME to handling of union initialization. (#82239)

We want to make it clear that the current behavior doesn't yet handle
unions
properly.


  Commit: 45c226d4521515ff1a38292331d82356b273fff7
      https://github.com/llvm/llvm-project/commit/45c226d4521515ff1a38292331d82356b273fff7
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-19 (Mon, 19 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/include/mlir/IR/DialectBase.td
    M mlir/include/mlir/TableGen/Dialect.h
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
    M mlir/lib/TableGen/Dialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
    M mlir/test/lib/Dialect/Test/TestDialect.td
    M mlir/tools/mlir-tblgen/DialectGen.cpp

  Log Message:
  -----------
  [MLIR] Add ODS support for generating helpers for dialect (discardable) attributes (#77024)

This is a new ODS feature that allows dialects to define a list of
key/value pair representing an attribute type and a name.
This will generate helper classes on the dialect to be able to
manage discardable attributes on operations in a type safe way.

For example the `test` dialect can define:

```
  let discardableAttrs = (ins
     "mlir::IntegerAttr":$discardable_attr_key,
  );
```

And the following will be generated in the TestDialect class:

```
   /// Helper to manage the discardable attribute `discardable_attr_key`.
    class DiscardableAttrKeyAttrHelper {
      ::mlir::StringAttr name;
    public:
      static constexpr ::llvm::StringLiteral getNameStr() {
        return "test.discardable_attr_key";
      }
      constexpr ::mlir::StringAttr getName() {
        return name;
      }

      DiscardableAttrKeyAttrHelper(::mlir::MLIRContext *ctx)
        : name(::mlir::StringAttr::get(ctx, getNameStr())) {}

     mlir::IntegerAttr getAttr(::mlir::Operation *op) {
       return op->getAttrOfType<mlir::IntegerAttr>(name);
     }
     void setAttr(::mlir::Operation *op, mlir::IntegerAttr val) {
       op->setAttr(name, val);
     }
     bool isAttrPresent(::mlir::Operation *op) {
       return op->hasAttrOfType<mlir::IntegerAttr>(name);
     }
     void removeAttr(::mlir::Operation *op) {
       assert(op->hasAttrOfType<mlir::IntegerAttr>(name));
       op->removeAttr(name);
     }
   };
   DiscardableAttrKeyAttrHelper getDiscardableAttrKeyAttrHelper() {
     return discardableAttrKeyAttrName;
   }
```

User code having an instance of the TestDialect can then manipulate this
attribute on operation using:

```
  auto helper = testDialect.getDiscardableAttrKeyAttrHelper();

  helper.setAttr(op, value);
  helper.isAttrPresent(op);
  ...
```


  Commit: a45df47375e50914900dcc07abd2fa67bfa0dd3b
      https://github.com/llvm/llvm-project/commit/a45df47375e50914900dcc07abd2fa67bfa0dd3b
  Author: Tom Praschan <13141438+tom-anders at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    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/Protocol.cpp
    M clang-tools-extra/clangd/Protocol.h
    M clang-tools-extra/clangd/test/initialize-params.test
    M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
    M clang-tools-extra/clangd/unittests/LSPClient.cpp
    M clang-tools-extra/clangd/unittests/LSPClient.h

  Log Message:
  -----------
  [clangd] forward clang-tidy's readability-identifier-naming fix to textDocument/rename (#78454)

Co-authored-by: Nathan Ridge <zeratul976 at hotmail.com>


  Commit: d2a26a7bd5fc7cc5752337b7f4f999642feb37dc
      https://github.com/llvm/llvm-project/commit/d2a26a7bd5fc7cc5752337b7f4f999642feb37dc
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll

  Log Message:
  -----------
  [InstCombine] Do not perform binop-of-shuffle when mask is poison

A miscompilation issue has been addressed with refined checking.
Shuffle masks operand may be turned into `poison` if this does
not lead to observable changes. This however may not guarantee
binop to binop-of-shuffle replacement to be sound anymore.

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


  Commit: 914e60748729387f45919e42335723eb9d2df460
      https://github.com/llvm/llvm-project/commit/914e60748729387f45919e42335723eb9d2df460
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
    M mlir/include/mlir/IR/PatternMatch.h
    M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
    M mlir/lib/IR/PatternMatch.cpp
    M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
    M mlir/test/Transforms/test-strict-pattern-driver.mlir
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/lib/Transforms/TestConstantFold.cpp

  Log Message:
  -----------
  [mlir][IR][NFC] Rename `notify*Removed` to `notify*Erased` (#82253)

Rename listener callback names:
* `notifyOperationRemoved` -> `notifyOperationErased`
* `notifyBlockRemoved` -> `notifyBlockErased`

The current callback names are misnomers. The callbacks are triggered
when an operation/block is erased, not when it is removed (unlinked).

E.g.:
```c++
/// Notify the listener that the specified operation is about to be erased.
/// At this point, the operation has zero uses.
///
/// Note: This notification is not triggered when unlinking an operation.
virtual void notifyOperationErased(Operation *op) {}
```

This change is in preparation of adding listener support to the dialect
conversion. The dialect conversion internally unlinks IR before erasing
it at a later point of time. There is an important difference between
"remove" and "erase". Lister callback names should be accurate to avoid
confusion.


  Commit: 1b894864862d8049e4a2567a472efdc2eda1e035
      https://github.com/llvm/llvm-project/commit/1b894864862d8049e4a2567a472efdc2eda1e035
  Author: Frederic Cambus <fred at statdns.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/test/tools/llvm-objdump/openbsd-headers.test
    M llvm/tools/llvm-objdump/ELFDump.cpp

  Log Message:
  -----------
  [llvm-objdump] Add support for the PT_OPENBSD_SYSCALLS segment type. (#82121)

Reference: https://github.com/openbsd/src/blob/master/sys/sys/exec_elf.h


  Commit: a8d7511811c7d7c689c3e8f858e8e00a56aba152
      https://github.com/llvm/llvm-project/commit/a8d7511811c7d7c689c3e8f858e8e00a56aba152
  Author: Frederic Cambus <fred at statdns.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/test/tools/llvm-readobj/ELF/program-headers.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [llvm-readobj] Add support for the PT_OPENBSD_SYSCALLS segment type. (#82122)

Reference: https://github.com/openbsd/src/blob/master/sys/sys/exec_elf.h


  Commit: 1cbe26d302ca7d3573c1bf43114dfd7d2f0ca476
      https://github.com/llvm/llvm-project/commit/1cbe26d302ca7d3573c1bf43114dfd7d2f0ca476
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M .github/new-prs-labeler.yml

  Log Message:
  -----------
  [PowerPC] add PowerPC path for PR labeler (#82200)

Add paths for PowerPC to the PR labeler.


  Commit: 119a72866f0e143127355fe6e03f57c4f8bab1ae
      https://github.com/llvm/llvm-project/commit/119a72866f0e143127355fe6e03f57c4f8bab1ae
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

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

  Log Message:
  -----------
  [clang-format][NFC] Remove redundant calls to guessIsObjC()

Running clang-format on the following input
```
int lambdas() {
  return [&] {
  return [&] {
  return [&] {
  return [&] {
  return [&] {
  return [&] {
  return [&] { return 3; } ();
  } (); } (); } (); } (); } (); } (); }
```
will finish instantly if you pass clang-format a .cpp input with this
content, but hang for tens of seconds if you pass the same via stdin
or a .h file.

Adding some debug statements showed that guessIsObjC was getting called
tens of millions of times in a manner that scales very rapidly with the
amount of nesting (if clang-format just takes a few seconds with that
input passed on stdin, try adding a couple more levels of nesting).

This change moves the recursive guessIsObjC call one level of nesting
out of an inner loop whose iterations don't affect the input to the
recursive call. This resolves the performance issue.

Authored-by: davidvc1 and Uran198

Differential Revision: https://reviews.llvm.org/D114837
Differential Revision: https://reviews.llvm.org/D47515


  Commit: 63a4b4f610e729ee71758bdc29da10faf5b943b4
      https://github.com/llvm/llvm-project/commit/63a4b4f610e729ee71758bdc29da10faf5b943b4
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-logic-of-compare.mir

  Log Message:
  -----------
  [GlobalIsel] Combine logic of floating point compares (#81886)

It is purely based on symmetry. Registers can be scalars, vectors, and
non-constants.

X < 5.0 || X > 5.0
  ->
X != 5.0

X < Y && X > Y
  ->
  FCMP_FALSE

X < Y && X < Y
  ->
  FCMP_TRUE

see InstCombinerImpl::foldLogicOfFCmps


  Commit: c7799fadfe069c982ad27509e9de6d8d4b7b9007
      https://github.com/llvm/llvm-project/commit/c7799fadfe069c982ad27509e9de6d8d4b7b9007
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/dependent-ivs.ll

  Log Message:
  -----------
  [InstCombine] Add more dependent IV tests (NFC)


  Commit: 37c19f9a35c5adad009ad82c608b9ca11155ec06
      https://github.com/llvm/llvm-project/commit/37c19f9a35c5adad009ad82c608b9ca11155ec06
  Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
    M clang/test/Analysis/Inputs/expected-plists/unix-fns.c.plist
    A clang/test/Analysis/unix-fns-o_creat.c
    M clang/test/Analysis/unix-fns.c

  Log Message:
  -----------
  [analyzer] UnixAPIMisuseChecker Get O_CREAT from preprocessor (#81855)

Now calling `open` with the `O_CREAT` flag and no mode parameter will
raise an issue in any system that defines `O_CREAT`.

The value for this flag is obtained after the full source code has been
parsed, leveraging `checkASTDecl`.
Hence, any `#define` or `#undefine` of `O_CREAT` following an `open` may
alter the results. Nevertheless, since redefining reserved identifiers
is UB, this is probably ok.


  Commit: 9fa18f65983ba761c9fbf7be4c67801a14bf4b34
      https://github.com/llvm/llvm-project/commit/9fa18f65983ba761c9fbf7be4c67801a14bf4b34
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/test/AST/Interp/c.c
    M clang/test/AST/Interp/complex.cpp

  Log Message:
  -----------
  [clang][Interp] Handle complex values in visitBool() (#79452)

In C++, we get a ComplexToBool cast, but we might not in C.


  Commit: 283a6b9936657712f61c38459c87507e587e3625
      https://github.com/llvm/llvm-project/commit/283a6b9936657712f61c38459c87507e587e3625
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/utils/UpdateTestChecks/common.py

  Log Message:
  -----------
  [UTC] Fix SyntaxWarning on Python 3.12 (#82327)

On Python 3.12 we now get a warning in common.py:

llvm/utils/UpdateTestChecks/common.py:488: SyntaxWarning: invalid escape
sequence '\s'

This fixes it by using a raw string literal, see
https://github.com/llvm/llvm-project/pull/78036 and
https://docs.python.org/3/library/re.html


  Commit: 756ff969fa01f4666276b926fbc4d24840860d0b
      https://github.com/llvm/llvm-project/commit/756ff969fa01f4666276b926fbc4d24840860d0b
  Author: Jannik Silvanus <37809848+jasilvanus at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Analysis/Lint.cpp
    A llvm/test/Analysis/Lint/abort-on-error.ll

  Log Message:
  -----------
  [Lint] Add option --lint-abort-on-error (#81999)

This option makes the lint pass abort if errors were found.

This is intended to help lit testing where the lint pass is used and
lint errors should be detected.
Previously, this required checking for non-empty stderr.


  Commit: 76e79b0bef6c547e74b0c5e5900e41b44eb2a2f8
      https://github.com/llvm/llvm-project/commit/76e79b0bef6c547e74b0c5e5900e41b44eb2a2f8
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/GPU/Transforms/ParallelLoopMapper.cpp

  Log Message:
  -----------
  Fix duplicate mapping detection in gpu::setMappingAttr() (#77499)


  Commit: 3be913289893bf695ef679647c0e1a71128ae812
      https://github.com/llvm/llvm-project/commit/3be913289893bf695ef679647c0e1a71128ae812
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp

  Log Message:
  -----------
  [clang][analyzer] Simplify code of StreamChecker - part 2 (NFC). (#82228)

Continuation of commit 42b5037, apply changes to the remaining
functions.
Code for function `fflush` was not changed, because it is more special
compared to the others.


  Commit: ec2c770b9f9a0e9eca4a893383d2b27dd4c0bfe7
      https://github.com/llvm/llvm-project/commit/ec2c770b9f9a0e9eca4a893383d2b27dd4c0bfe7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

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

  Log Message:
  -----------
  [InstCombine] Add unsigned variants of gep exact div tests (NFC)


  Commit: 39fd3fcd4527d627ee7f526a651aa47c27a9ad0d
      https://github.com/llvm/llvm-project/commit/39fd3fcd4527d627ee7f526a651aa47c27a9ad0d
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

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

  Log Message:
  -----------
  [clang][Interp] Don't fail on shifts greater than type bitwidth

We need to limit the shift width to the type bitwidth, then do the
shift and report success, but still diagnose what we limited the
shiftwidth.


  Commit: 1b12974ccba6478b27d7ba13ceead2864ab4be20
      https://github.com/llvm/llvm-project/commit/1b12974ccba6478b27d7ba13ceead2864ab4be20
  Author: David Green <david.green at arm.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-unmerge.mir
    M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
    M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
    M llvm/test/CodeGen/AArch64/abs.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
    M llvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
    M llvm/test/CodeGen/AArch64/bswap.ll
    M llvm/test/CodeGen/AArch64/fpext.ll
    M llvm/test/CodeGen/AArch64/fptoi.ll
    M llvm/test/CodeGen/AArch64/llvm.exp10.ll
    M llvm/test/CodeGen/AArch64/reduce-and.ll
    M llvm/test/CodeGen/AArch64/reduce-or.ll
    M llvm/test/CodeGen/AArch64/reduce-xor.ll
    M llvm/test/CodeGen/AArch64/shift.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization-nan.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmaximum.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fminimum.ll
    M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-post-legalize.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-pre-legalize.mir

  Log Message:
  -----------
  [AArch64][AMDGPU][GlobalISel] Remove vector handling from unmerge_dead_to_trunc (#82224)

This combine transforms an unmerge where only the first element is used
into a truncate. That works OK for scalar but for vector needs to insert
a bitcast to integers, perform the truncate then bitcast back to
vectors. This generates more awkward code than using an Unmerge.


  Commit: b3e4686af37c7879790f48f244afcb2da21d3af8
      https://github.com/llvm/llvm-project/commit/b3e4686af37c7879790f48f244afcb2da21d3af8
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/test/AST/Interp/builtin-functions.cpp

  Log Message:
  -----------
  [clang][Interp] Implement __builtin_{ctz,clz,bswap}


  Commit: 9bec1ef5f97b1f3cf2b994dced73268ebb312972
      https://github.com/llvm/llvm-project/commit/9bec1ef5f97b1f3cf2b994dced73268ebb312972
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

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

  Log Message:
  -----------
  [clang][Interp] assignments aren't always lvalues in C

If they aren't we need to load from the pointer the Store op
leaves on the stack.


  Commit: 90c46be61d8f45f1f307a06912fadc5fb0c1673c
      https://github.com/llvm/llvm-project/commit/90c46be61d8f45f1f307a06912fadc5fb0c1673c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    A llvm/test/Transforms/IndVarSimplify/hoist-wide-inc-for-narrow-use-recompute-flags.ll

  Log Message:
  -----------
  [IndVars] Add test for #82243.

Test for https://github.com/llvm/llvm-project/issues/82243.


  Commit: f122268c04410ba949b6affc99cd329630add576
      https://github.com/llvm/llvm-project/commit/f122268c04410ba949b6affc99cd329630add576
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    A llvm/lib/Target/AMDGPU/AMDGPUPredicateControl.td
    M llvm/lib/Target/AMDGPU/R600.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td

  Log Message:
  -----------
  [AMDGPU][NFC] Extend PredicateControl to support True16 predicates. (#82245)

Using OtherPredicates for True16 predicates is often problematic due to
interference with other kinds of predicates, particularly when this
overrides predicates inherited from pseudo instructions.


  Commit: 26d4afc3de86ca5416c8e38000362c526b6808cd
      https://github.com/llvm/llvm-project/commit/26d4afc3de86ca5416c8e38000362c526b6808cd
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/getelementptr.ll

  Log Message:
  -----------
  [InstCombine] Fold gep of exact unsigned division (#82334)

Extend the transform added in
https://github.com/llvm/llvm-project/pull/76458 to also handle unsigned
division. X exact/ Y * Y == X holds independently of whether the
division is signed or unsigned.

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


  Commit: a4d46157718573157d01a842d225267a5b2a7ef1
      https://github.com/llvm/llvm-project/commit/a4d46157718573157d01a842d225267a5b2a7ef1
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/SOPInstructions.td

  Log Message:
  -----------
  [AMDGPU] Try decoding instructions longest first. NFCI. (#82014)

AMDGPUDisassembler::getInstruction tries decoding instructions using
different DecoderTables in a confusing order: first 96-bit instructions,
then some 64-bit, then 32-bit, then some more 64-bit.

This patch changes it to always try longer encodings first. The
motivation is to make getInstruction easier to understand, and to pave
the way for combining some 64-bit tables that do not need to be
separate.


  Commit: 49a8fc0da4d0ddc9319e7e68eb359d68403ce384
      https://github.com/llvm/llvm-project/commit/49a8fc0da4d0ddc9319e7e68eb359d68403ce384
  Author: Krasimir Georgiev <krasimir at google.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/CMakeLists.txt
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
    R llvm/lib/Target/Hexagon/HexagonPostIncOpt.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h
    R llvm/test/CodeGen/Hexagon/post-inc-vec.mir
    R llvm/test/CodeGen/Hexagon/post_inc_store.mir
    R llvm/test/CodeGen/Hexagon/postincopt-crash.mir
    R llvm/test/CodeGen/Hexagon/postincopt-dcfetch.mir
    R llvm/test/CodeGen/Hexagon/valid-offset-loadbsw4.mir

  Log Message:
  -----------
  Revert "[Hexagon] Optimize post-increment load and stores in loops. (#82011)"

This reverts commit 0e6a48c3e8cc53f9eb5945ec04f8e03f6d2bae37.

Temporary revert as it causes bad codegen: https://github.com/llvm/llvm-project/pull/82011#issuecomment-1951426107


  Commit: 8bc0cbd6c73c3230102048798446fc751f0702d1
      https://github.com/llvm/llvm-project/commit/8bc0cbd6c73c3230102048798446fc751f0702d1
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

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

  Log Message:
  -----------
  [gn build] Port 49a8fc0da4d0


  Commit: f1efc64b86d6fa60182c4d4a9ad7c8a051c21dbc
      https://github.com/llvm/llvm-project/commit/f1efc64b86d6fa60182c4d4a9ad7c8a051c21dbc
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/clang_f_opts.c

  Log Message:
  -----------
  [Driver] Remove dead -freroll-loops flag (#82254)

Remove the `-freroll-loops` flag, which has not had any effect since the
migration to the new pass manager. The underlying pass has been removed
entirely in #80972 due to lack of maintenance and known bugs.

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


  Commit: d5922cf72cc18a7ac9f7afd1941ee2f7773d8469
      https://github.com/llvm/llvm-project/commit/d5922cf72cc18a7ac9f7afd1941ee2f7773d8469
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/CXX/drs/dr13xx.cpp
    M clang/test/CXX/drs/dr17xx.cpp
    M clang/test/SemaCXX/type-traits.cpp

  Log Message:
  -----------
  [clang] Implement `__is_layout_compatible` (#81506)

This patch implements `__is_layout_compatible` intrinsic, which supports
`std::is_layout_compatible` type trait introduced in C++20
([P0466R5](https://wg21.link/p0466r5) "Layout-compatibility and
Pointer-interconvertibility Traits"). Name matches GCC and MSVC
intrinsic.

Basically, this patch exposes our existing machinery for checking for
layout compatibility and figuring out common initial sequences. Said
machinery is a bit outdated, as it doesn't implement
[CWG1719](https://cplusplus.github.io/CWG/issues/1719.html) "Layout
compatibility and cv-qualification revisited" and
[CWG2759](https://cplusplus.github.io/CWG/issues/2759.html)
"`[[no_unique_address]` and common initial sequence". Those defect
reports are considered out of scope of of this PR, but will be
implemented in subsequent PRs.

Partially addresses #48204


  Commit: ddba6b271c07b4bb640b2f2b742710557a762142
      https://github.com/llvm/llvm-project/commit/ddba6b271c07b4bb640b2f2b742710557a762142
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td

  Log Message:
  -----------
  [AMDGPU] Stop using SDWA DecoderNamespaces. NFCI. (#82233)

64-bit SDWA encodings have to be checked first because their first 32
bits are a special case of the corresponding 32-bit non-SDWA encoding of
the same instruction. But all 64-bit encodings are checked first, so we
don't need special handling for SDWA.


  Commit: dfb70c3a7c65cd5143c942ad8a18f4177c16d74e
      https://github.com/llvm/llvm-project/commit/dfb70c3a7c65cd5143c942ad8a18f4177c16d74e
  Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/docs/Dialects/emitc.md
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp

  Log Message:
  -----------
  [mlir][EmitC] Remove `func.constant` from emitter (#82342)

As part of the renaming the Standard dialect to Func dialect, *support*
for the `func.constant` operation was added to the emitter. However, the
emitter cannot emit function types. Hence the emission for a snippet
like

```
%0 = func.constant @myfn : (f32) -> f32

func.func private @myfn(%arg0: f32) -> f32 {
  return %arg0 : f32
}
```

failes with `func.mlir:1:6: error: cannot emit type '(f32) -> f32'`.
This removes `func.constant` from the emitter.


  Commit: 9563746d358c68c0c4a6242fa20bc21fdf632dfe
      https://github.com/llvm/llvm-project/commit/9563746d358c68c0c4a6242fa20bc21fdf632dfe
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

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

  Log Message:
  -----------
  [clang][Interp] Diagnose uninitialized global variables explicitly

There used to be some diagnostic differences between the new
interpreter and the old one.


  Commit: 2ad43fa467b0b1755535c21b0795f0444d1327fd
      https://github.com/llvm/llvm-project/commit/2ad43fa467b0b1755535c21b0795f0444d1327fd
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx11.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
    M llvm/test/MC/AMDGPU/bf16_imm.s
    M llvm/test/MC/Disassembler/AMDGPU/bf16_imm.txt

  Log Message:
  -----------
  [AMDGPU] Fix operand types for `V_DOT2_F32_BF16` (#82044)


  Commit: fcd6549e5801de938935b93fd2d13020b42eebdb
      https://github.com/llvm/llvm-project/commit/fcd6549e5801de938935b93fd2d13020b42eebdb
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    A llvm/test/Transforms/LoopIdiom/pr82337.ll

  Log Message:
  -----------
  [LIR] Add test for #82337 (NFC)


  Commit: 4db93e5d56440be44d8ad2036e2579208c82ad37
      https://github.com/llvm/llvm-project/commit/4db93e5d56440be44d8ad2036e2579208c82ad37
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
    M llvm/test/Transforms/IndVarSimplify/hoist-wide-inc-for-narrow-use-recompute-flags.ll

  Log Message:
  -----------
  [IndVars] Recompute flags if needed in widenIVUse of IV increment. (#82352)

widenIVUse may hoist a wide induction increment and introduce new uses,
but does not recompute the wrap flags. In some cases this can make the
new uses of the wide IV inc more poisonous.

Update the code to recompute flags if needed when hoisting an IV. If
both the narrow and wide IV increment's flags match and we can re-use
the flags from the increments, there's no need to recompute the flags,
as the replacement won't make the new uses of the wide IV's increment
more poisonous.

Note that this also updates a stale comment which claimed that the widen
increment is only used if it dominates the new use.

The helper should also be used to guard the code added in da437330be,
which I am planning on doing separately once the helper lands.

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


  Commit: 052ee74dae3b43e5f8a4a5df9d41386ef7592c18
      https://github.com/llvm/llvm-project/commit/052ee74dae3b43e5f8a4a5df9d41386ef7592c18
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/test/Preprocessor/init.c

  Log Message:
  -----------
  [C23] Add __TYPE_FMTB__ and __TYPE_FMTb__ predefined macros (#82361)

This adds predefined formatting macros in C23 mode for printing unsigned
integers in binary format (e.g, UINT_FAST64_FMTB). These are used to
implement the PRIb (et al) macros in inttypes.h

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

(Was previously reviewed in
[82037](https://github.com/llvm/llvm-project/pull/82037), this is fixing
some failures found post-commit.)


  Commit: a1a68603145a39e6abdd35bf7a01535eb53826b1
      https://github.com/llvm/llvm-project/commit/a1a68603145a39e6abdd35bf7a01535eb53826b1
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
    M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
    M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    A mlir/test/Dialect/Vector/vector-interleave-lowering-transforms.mlir

  Log Message:
  -----------
  [mlir][VectorOps] Add unrolling for n-D vector.interleave ops (#80967)

This unrolls n-D vector.interleave ops like:

```mlir
vector.interleave %i, %j : vector<6x3xf32>
```

To a sequence of 1-D operations:
```mlir
%i_0 = vector.extract %i[0] 
%j_0 = vector.extract %j[0] 
%res_0 = vector.interleave %i_0, %j_0 : vector<3xf32>
vector.insert %res_0, %result[0] :
// ... repeated x6
```

The 1-D operations can then be directly lowered to LLVM.

Depends on: #80966


  Commit: 26db845536aa4ada6231873a01252c75637fcbae
      https://github.com/llvm/llvm-project/commit/26db845536aa4ada6231873a01252c75637fcbae
  Author: stephenpeckham <118857872+stephenpeckham at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Object/XCOFFObjectFile.h
    M llvm/include/llvm/ObjectYAML/XCOFFYAML.h
    M llvm/lib/Object/XCOFFObjectFile.cpp
    M llvm/lib/ObjectYAML/XCOFFEmitter.cpp
    M llvm/lib/ObjectYAML/XCOFFYAML.cpp
    M llvm/test/CodeGen/PowerPC/aix-dwarf.ll
    M llvm/test/tools/llvm-readobj/XCOFF/sections.test
    A llvm/test/tools/yaml2obj/XCOFF/dwarf-subsection-types.yaml
    M llvm/tools/llvm-readobj/XCOFFDumper.cpp
    M llvm/tools/obj2yaml/xcoff2yaml.cpp

  Log Message:
  -----------
  [XCOFF] Support the subtype flag in DWARF section headers (#81667)

The section headers for XCOFF files have a subtype flag for Dwarf
sections. This PR updates obj2yaml, yaml2obj, and llvm-readobj so that
they recognize the subtype.


  Commit: 493f10106f7f1799eb67be95058b251e6a3bf0af
      https://github.com/llvm/llvm-project/commit/493f10106f7f1799eb67be95058b251e6a3bf0af
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    R llvm/test/CodeGen/AArch64/reverse-csr-restore-seq.mir

  Log Message:
  -----------
  [AArch64] Remove unused ReverseCSRRestoreSeq option. (#82326)

This patch removes the `-reverse-csr-restore-seq` option from
AArch64FrameLowering, since this is no longer used.


  Commit: 9eb399b8548b835547947884b75c5fa79f977394
      https://github.com/llvm/llvm-project/commit/9eb399b8548b835547947884b75c5fa79f977394
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/cast.ll

  Log Message:
  -----------
  [InstCombine] Support zext nneg in `foldLogicCastConstant` (#82355)

This patch extends [D36234](https://reviews.llvm.org/D36234) to handle
`zext nneg` instructions.
I found this while adding support for cast instructions in
`getFreelyInvertedImpl`.


  Commit: 8ca351d394290f934c2a50293712d4eddf6a97e9
      https://github.com/llvm/llvm-project/commit/8ca351d394290f934c2a50293712d4eddf6a97e9
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/test/Transforms/ConstraintElimination/minmax.ll
    A llvm/test/Transforms/ConstraintElimination/sext.ll

  Log Message:
  -----------
  [ConstraintElim] Add pre-commit tests for PR82271. NFC. (#82357)

This patch adds some tests for
https://github.com/llvm/llvm-project/pull/82344.


  Commit: d7a73c91b623baf5c966d9b18f6837ee808ddc89
      https://github.com/llvm/llvm-project/commit/d7a73c91b623baf5c966d9b18f6837ee808ddc89
  Author: cmtice <cmtice at google.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/include/llvm/ADT/GenericUniformityImpl.h
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/unittests/ADT/STLExtrasTest.cpp

  Log Message:
  -----------
  [LLVM][ADT] Put both vesions of 'unique' into STLExtras.h (#82312)

Currently there are two versions of llvm::unique, one that requires a
predicate, and is in STLExtras.h; and one that does not require a
predicate, and is in GenericUniformityImpl.h. This moves the one from
GenericUniformityImp.h to STlExtras.h, so they are both together, and
can both be easily called from other places inside LLVM.


  Commit: 135529aab0ebe4915143f376d94f8aba6ec71e4e
      https://github.com/llvm/llvm-project/commit/135529aab0ebe4915143f376d94f8aba6ec71e4e
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M flang/lib/Lower/OpenACC.cpp
    M flang/test/Lower/OpenACC/acc-private.f90

  Log Message:
  -----------
  [flang][openacc] Use the same iv privatized value in the loop region (#81821)

IV variable are privatized during acc loop lowering. An hlfir.declare
operation is added when mapping the symbol to the new private value. In
order to avoid using multiple value in the acc.loop region, we map the
symbol to the result of the hlfir.declare operation inserted.


  Commit: 539febfe30fd895996cf2579d3f0cdd2a708ee61
      https://github.com/llvm/llvm-project/commit/539febfe30fd895996cf2579d3f0cdd2a708ee61
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

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

  Log Message:
  -----------
  [X86] combineEXTRACT_SUBVECTOR - share the same SDLoc argument instead of recreating it over and over again.


  Commit: 2f1e33df3239714d54665787bd7decdcf35fd60c
      https://github.com/llvm/llvm-project/commit/2f1e33df3239714d54665787bd7decdcf35fd60c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-reduce-add-mask.ll

  Log Message:
  -----------
  [X86] Fold add(psadbw(X,0),psadbw(Y,0)) -> psadbw(add(X,Y),0)

If the vXi8 add(X,Y) is guaranteed not to overflow then we can push the addition though the psadbw nodes (being used for reduction) and only need a single psadbw node.

Noticed while working on CTPOP reduction codegen


  Commit: 8f7ae64ea108de54d9aad963c55e1aef7dc62b86
      https://github.com/llvm/llvm-project/commit/8f7ae64ea108de54d9aad963c55e1aef7dc62b86
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M libc/src/__support/CPP/atomic.h

  Log Message:
  -----------
  [libc][cpp] add `atomic_signal_fence` (#82138)

Add `atomic_signal_fence`. This will be useful in
https://gustedt.gitlabpages.inria.fr/c23-library/#memset_explicit.


  Commit: ababa964752d5bfa6eb608c97f19d4e68df1d243
      https://github.com/llvm/llvm-project/commit/ababa964752d5bfa6eb608c97f19d4e68df1d243
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/include/llvm/IR/DebugInfo.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/include/llvm/Transforms/Utils/ValueMapper.h
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/IPO/MergeFunctions.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Scalar/ADCE.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/ValueMapper.cpp
    M llvm/tools/llvm-reduce/DeltaManager.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceDPValues.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceDPValues.h
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/IR/ValueTest.cpp

  Log Message:
  -----------
  [RemoveDIs][NFC] Introduce DbgRecord base class [1/3] (#78252)

Patch 1 of 3 to add llvm.dbg.label support to the RemoveDIs project. The
patch stack adds a new base class

    -> 1. Add DbgRecord base class for DPValue and the not-yet-added
          DPLabel class.
       2. Add the DPLabel class.
       3. Enable dbg.label conversion and add support to passes.

Patches 1 and 2 are NFC.

In the near future we also will rename DPValue to DbgVariableRecord and
DPLabel to DbgLabelRecord, at which point we'll overhaul the function
names too. The name DPLabel keeps things consistent for now.


  Commit: 3e76e6083da3717fafbb2345eb8a5d1bdac3013e
      https://github.com/llvm/llvm-project/commit/3e76e6083da3717fafbb2345eb8a5d1bdac3013e
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/IR/Function.cpp
    M llvm/lib/Transforms/IPO/IROutliner.cpp

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Set new-dbg-info flag from Modules correctly (#82373)

It turns out there's a pathway for Functions to be inserted into modules
without having the "New" debug-info flag set correctly, which this patch
fixes. Sadly there isn't a Module::insert method to instrument out
there, everyone touches the list directly.

This fix exposes a path where such functions are produced in the
outliner in the wrong mode; requiring a fix there to correctly drop
RemoveDIs-mode debug-info. This is covered by
test/DebugInfo/AArch64/ir-outliner.ll


  Commit: 96c5b8cbd19b172b257cb3401aeba666184f7a2a
      https://github.com/llvm/llvm-project/commit/96c5b8cbd19b172b257cb3401aeba666184f7a2a
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/arm/headers.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/docs/c23.rst
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/CMakeLists.txt
    A libc/include/llvm-libc-macros/stdckdint-macros.h
    A libc/include/stdckdint.h.def
    M libc/spec/stdc.td
    A libc/src/stdckdint/CMakeLists.txt
    M libc/test/include/CMakeLists.txt
    A libc/test/include/stdckdint_test.cpp

  Log Message:
  -----------
  [libc][c23] add definitions for stdckdint.h (#82059)

See docs at
- https://gustedt.gitlabpages.inria.fr/c23-library/#stdckdint
- https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf (Ch7.10)

Compiler header:
-
https://github.com/llvm/llvm-project/blob/450462cbaceddf57812ce15b5135b17f65a77654/clang/lib/Headers/stdckdint.h
- New version of GCC
(https://github.com/gcc-mirror/gcc/blob/cd503b0616462445381a8232fb753239d319af76/gcc/ginclude/stdckdint.h)
also provides this.


  Commit: a73e9244621a6186859644012c295740465ad844
      https://github.com/llvm/llvm-project/commit/a73e9244621a6186859644012c295740465ad844
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M libc/src/__support/CPP/atomic.h

  Log Message:
  -----------
  [libc] use LIBC_HAS_BUILTIN instead __has_builtin (#82377)

fix the issue that `__has_builtin` is undefined on some non-clang
targets.


  Commit: aa7076fc9b7d4b92fc71637bfdb7cb268bcd53bc
      https://github.com/llvm/llvm-project/commit/aa7076fc9b7d4b92fc71637bfdb7cb268bcd53bc
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/test/Analysis/ValueTracking/constant-ranges.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for constant range of `{s|u}rem C, x`; NFC


  Commit: 9facaaddadd63a1668c212c8a9ef94a5ad4c6629
      https://github.com/llvm/llvm-project/commit/9facaaddadd63a1668c212c8a9ef94a5ad4c6629
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/constant-ranges.ll

  Log Message:
  -----------
  [ValueTracking] Improve tracking for constant range of `{s|u}rem C, x`

Current we only support `C` as the remainder, but we can also limit
with a constant numerator.

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

Closes #82303


  Commit: 9923d29cfa917a0c25f3237e0cae9567c8806071
      https://github.com/llvm/llvm-project/commit/9923d29cfa917a0c25f3237e0cae9567c8806071
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.h
    M llvm/test/Transforms/LoopVectorize/vplan_hcfg_stress_test.ll
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp

  Log Message:
  -----------
  [VPlan] Merge main VPlan verifer with HCFG verifier.

Unify VPlan verifiers in verifyVPlanIsValid. This adds verification for
various properties on blocks to the verifier used for VPlans generated
by the inner loop vectorizer. It also adds def-use checks for the
verifier used in the VPlan native path.

This drops the separate flag to enable HCFG verification. Instead, all
VPlans are verified once they have been created, if assertions are
enabled.

This also removes VPWidenPHIRecipe from VPHeaderPHIRecipe; it is used to
model any phi node in the native path.


  Commit: 3b7ba2482e2c1b9b240664a247db55d253a3e1f5
      https://github.com/llvm/llvm-project/commit/3b7ba2482e2c1b9b240664a247db55d253a3e1f5
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/Sema/enum.c

  Log Message:
  -----------
  [C23] No longer assert on huge enumerator values (#81760)

C23 added the wb and uwb suffixes to generate a bit-precise integer
value. These values can be larger than what is representable in intmax_t
or uintmax_t.

We were asserting that an enumerator constant could not have a value
larger than unsigned long long but that's now a possibility. This patch
turns the assertion into a "value too large" diagnostic.

Note, we do not yet implement WG14 N3029 and so the behavior of this
patch will cause the enumerator to be cast to unsigned long long, but
this behavior may change in the future. GCC selects __uint128_t as the
underlying type for such an enumeration and we may want to match that
behavior in the future. This patch has several FIXME comments related to
this and the release notes call out the possibility of a change in
behavior in the future.

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


  Commit: 94100bc2fb1a39dbeb43d18a95176097c53f1324
      https://github.com/llvm/llvm-project/commit/94100bc2fb1a39dbeb43d18a95176097c53f1324
  Author: Xing Xue <xingxue at outlook.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    A openmp/runtime/src/z_AIX_asm.S

  Log Message:
  -----------
  [OpenMP][AIX]Add assembly file containing microtasking routines and unnamed common block definitions (#81770)

This patch adds assembly file `z_AIX_asm.S` that contains the 32- and
64-bit XCOFF version of microtasking routines and unnamed common block
definitions. This code has been run through the libomp LIT tests and a
user package successfully.


  Commit: 066773c4117512a76e127741631630fef57caf14
      https://github.com/llvm/llvm-project/commit/066773c4117512a76e127741631630fef57caf14
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

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

  Log Message:
  -----------
  [X86] computeKnownBitsForTargetNode - add generic handling of PSHUFB

When PSHUFB is used as a LUT (for CTPOP, BITREVERSE etc.), its the source operand that is constant and the index operand the variable. As long as the indices don't set the MSB (which zeros the output element), then the common known bits from the source operand can be used directly, even though the shuffle mask isn't constant.

Further helps to improve CTPOP reduction codegen


  Commit: ef28379022121ce32cf93d7c3a7571a73ab5f801
      https://github.com/llvm/llvm-project/commit/ef28379022121ce32cf93d7c3a7571a73ab5f801
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/ObjCopy/ELF/ELFObject.cpp
    A llvm/test/tools/llvm-objcopy/ELF/non-load-at-load-start.test

  Log Message:
  -----------
  [llvm-objcopy] Fix file offsets when PT_INTERP/PT_LOAD offsets are equal (#80562)

(#79887) When the offset of a PT_INTERP segment equals the offset of a
PT_LOAD segment, we consider that the parent of the PT_LOAD segment is
the PT_INTERP segment. In `layoutSegments`, we place both segments to be
after the current `Offset`, ignoring the PT_LOAD alignment.

This scenario is possible with fixed section addresses, but doesn't
happen with default linker layouts (.interp precedes other sections and
is part of a PT_LOAD segment containing the ELF header and program
headers).

```
% cat a.s
.globl _start; _start: ret
.rodata; .byte 0
.tdata; .balign 4096; .byte 0
% clang -fuse-ld=lld a.s -o a -nostdlib -no-pie -z separate-loadable-segments -Wl,-Ttext=0x201000,--section-start=.interp=0x202000,--section-start=.rodata=0x202020,-z,nognustack
% llvm-objcopy a a2
% llvm-readelf -l a2   # incorrect offset(PT_LOAD)
  Type           Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align
  PHDR           0x000040 0x0000000000200040 0x0000000000200040 0x0001c0 0x0001c0 R   0x8
  INTERP         0x001001 0x0000000000202000 0x0000000000202000 0x00001c 0x00001c R   0x1
      [Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
  LOAD           0x000000 0x0000000000200000 0x0000000000200000 0x000200 0x000200 R   0x1000
  LOAD           0x001000 0x0000000000201000 0x0000000000201000 0x000001 0x000001 R E 0x1000
//// incorrect offset
  LOAD           0x001001 0x0000000000202000 0x0000000000202000 0x000021 0x000021 R   0x1000
  LOAD           0x002000 0x0000000000203000 0x0000000000203000 0x000001 0x001000 RW  0x1000
  TLS            0x002000 0x0000000000203000 0x0000000000203000 0x000001 0x000001 R   0x1000
  GNU_RELRO      0x002000 0x0000000000203000 0x0000000000203000 0x000001 0x001000 R   0x1000
```

The same issue occurs for PT_TLS/PT_GNU_RELRO if we PT_TLS's alignment
is smaller and we place the PT_LOAD after PT_TLS/PT_GNU_RELRO segments
(not linker default, but possible with a `PHDRS` linker script command).

Fix #79887: when two segments have the same offset, order the one with a
larger alignment first. In the previous case, the PT_LOAD segment will
go before the PT_INTERP segment. In case of equal alignments, it doesn't
matter which segment is treated as the parent segment.


  Commit: 4a23ab439cfba3e9b4c7987e6d1c919c97b4e803
      https://github.com/llvm/llvm-project/commit/4a23ab439cfba3e9b4c7987e6d1c919c97b4e803
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

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

  Log Message:
  -----------
  Fix Wcovered-switch-default Werror after #78252

bot failure: https://lab.llvm.org/buildbot/#/builders/19/builds/24831


  Commit: ae8facc1f8e8a2d04b5a3519fc1901db110fe452
      https://github.com/llvm/llvm-project/commit/ae8facc1f8e8a2d04b5a3519fc1901db110fe452
  Author: John Harrison <harjohn at google.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb-dap] Do not write over the existing error if launchCommands fail during debugger launch. (#82051)

This fixes an issue where the error is lost if a command while executing
`launchCommands` when launching the debugger.

This should fix #82048


  Commit: 4c6043de0b837d23699424d875057d00956d80ac
      https://github.com/llvm/llvm-project/commit/4c6043de0b837d23699424d875057d00956d80ac
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    A clang/include/clang/InstallAPI/FileList.h
    A clang/include/clang/InstallAPI/HeaderFile.h
    M clang/lib/ExtractAPI/CMakeLists.txt
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    M clang/lib/InstallAPI/CMakeLists.txt
    A clang/lib/InstallAPI/FileList.cpp
    A clang/lib/InstallAPI/HeaderFile.cpp
    M clang/unittests/CMakeLists.txt
    A clang/unittests/InstallAPI/CMakeLists.txt
    A clang/unittests/InstallAPI/FileListTest.cpp
    A clang/unittests/InstallAPI/HeaderFileTest.cpp

  Log Message:
  -----------
  [clang][InstallAPI] Add input file support to library (#81701)

This patch adds support for expected InstallAPI inputs. InstallAPI
accepts a well defined filelist of headers and how those headers
represent a single library.

InstallAPI captures header files to determine linkable symbols to then
compare against what was compiled in a binary dylib and generate TBD
files.


  Commit: d2942a86d7b8fc4cba4f73294efb53a3e47dc751
      https://github.com/llvm/llvm-project/commit/d2942a86d7b8fc4cba4f73294efb53a3e47dc751
  Author: Shoaib Meenai <smeenai at fb.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/MergeFunctions.cpp
    A llvm/test/Transforms/MergeFunc/debuginfo-iterators.ll

  Log Message:
  -----------
  [MergeFunctions] Fix thunks for non-instruction debug info (#82080)

When MergeFunctions creates new thunk functions, it needs to copy over
the debug info format kind from the original function, otherwise we'll
mix debug info formats and run into assertions. This was exposed by a
downstream change that runs MergeFunctions before inlining, which caused
assertions when inlining attempted to inline thunks created by merging,
and the added test covers both scenarios where merging creates thunks.


  Commit: 7f3980a7b2c9f95ab3b106a94fe6e63158155b0b
      https://github.com/llvm/llvm-project/commit/7f3980a7b2c9f95ab3b106a94fe6e63158155b0b
  Author: James Robinson <jamesr at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

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

  Log Message:
  -----------
  [Fuzzer] Use user signal to coordinate handler shutdown (#82067)

This updates the signal handle thread coordinating to use a user signal
bit on the SignalHandlerEvent to coordinate shutdown instead of closing
the event handle. Closing the event handle is racy as the handle may be
closed before the signal handler thread resolves the handle value in
_zx_object_wait_many() and we would like to make this an explicit error.
Using the user signal bit 1 instead and then closing the event object
after the signal handler thread is joined cannot race as the wait will
terminate whether the signal is raised before or after the wait begins.


  Commit: d2173d8f534d73d2a3fab074a721729626859755
      https://github.com/llvm/llvm-project/commit/d2173d8f534d73d2a3fab074a721729626859755
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp

  Log Message:
  -----------
  [InstCombine] foldFCmpIntToFPConst - simplify repeated calls to getBitWidth/getScalarSizeInBits. NFC.

Noticed on #82241 - we don't need to use the IntegerType just for the scalar width, and we were calling it 3 times in different forms - we can just call Type::getScalarSizeInBits once and reuse.


  Commit: 8302cef83f0614f1fb2078f2335b94aa77bde271
      https://github.com/llvm/llvm-project/commit/8302cef83f0614f1fb2078f2335b94aa77bde271
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p23.cpp
    M clang/test/CXX/drs/dr5xx.cpp
    M clang/test/CXX/temp/temp.spec/temp.expl.spec/p16.cpp
    M clang/test/Misc/warning-flags.c

  Log Message:
  -----------
  [Clang][Sema] Convert warning for extraneous template parameter lists to an extension warning (#82277)

We currently accept the following explicit specialization with a warning
for the extraneous template parameter list:
```
template<typename T>
void f();

template<>
template<>
void f<int>(); // warning: extraneous template parameter list in template specialization
```

This should really be an extension warning so we reject with
`-pedantic-errors`. This patch converts the warning to an extension
warning.


  Commit: 7af70643ca4220c254bdb1e9ea51762228642a10
      https://github.com/llvm/llvm-project/commit/7af70643ca4220c254bdb1e9ea51762228642a10
  Author: Caroline Concatto <caroline.concatto at arm.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    A llvm/test/CodeGen/AArch64/reverse-csr-restore-seq.mir

  Log Message:
  -----------
  Revert "[AArch64] Remove unused ReverseCSRRestoreSeq option. (#82326)"

Patch  3f0404aae7ed2 is breaking some debugs build so we cannot use the reverse here.

This reverts commit 493f10106f7f1799eb67be95058b251e6a3bf0af.


  Commit: 48af281f7a5abe0b01daf7847d624d2a6b0ae9fa
      https://github.com/llvm/llvm-project/commit/48af281f7a5abe0b01daf7847d624d2a6b0ae9fa
  Author: Caroline Concatto <caroline.concatto at arm.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
    M llvm/test/CodeGen/AArch64/framelayout-sve.mir
    M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
    M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
    M llvm/test/CodeGen/AArch64/sve-alloca.ll
    M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
    M llvm/test/CodeGen/AArch64/sve-tailcall.ll
    M llvm/test/CodeGen/AArch64/unwind-preserved.ll

  Log Message:
  -----------
  Revert "[AArch64] Restore Z-registers before P-registers (#79623)"

This reverts commit 3f0404aae7ed2f7138526e1bcd100a60dfe08227.

std::reverse is breaking some builds


  Commit: d39d5ccbc0c3ea6aca68e46ff9f4503b682d1ac2
      https://github.com/llvm/llvm-project/commit/d39d5ccbc0c3ea6aca68e46ff9f4503b682d1ac2
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

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

  Log Message:
  -----------
  [bazel] fix build after 4c6043de0b837d23699424d875057d00956d80ac


  Commit: 5454991c29945d791b82a9e25b1f605f54c75710
      https://github.com/llvm/llvm-project/commit/5454991c29945d791b82a9e25b1f605f54c75710
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/test/UnitTest/CMakeLists.txt

  Log Message:
  -----------
  [libc] Cleanup of hermetic test flag handling (#82384)

Summary:
This cleans up the handling of hermetic test flags. Primarily done to
simplify the GPU rework patch.


  Commit: c625b996527335c4fd6b6aa246655a993487e846
      https://github.com/llvm/llvm-project/commit/c625b996527335c4fd6b6aa246655a993487e846
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    A llvm/include/llvm/ExecutionEngine/Orc/SectCreate.h
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/lib/ExecutionEngine/Orc/SectCreate.cpp
    A llvm/test/ExecutionEngine/JITLink/Generic/Inputs/sectcreate-data.txt
    A llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp

  Log Message:
  -----------
  [ORC] Add SectCreateMaterializationUnit, llvm-jitlink -sectcreate option.

The SectCreateMaterializationUnit creates a LinkGraph with a single named
section containing a single named block whose content is given by a
MemoryBuffer. It is intended to support emulation of ld64's -sectcreate option.


  Commit: fb615cf3b9c2d887441a4c0cca326eddc592351a
      https://github.com/llvm/llvm-project/commit/fb615cf3b9c2d887441a4c0cca326eddc592351a
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/CXX/expr/expr.prim/expr.prim.id/expr.prim.id.qual/p3.cpp
    M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p1.cpp

  Log Message:
  -----------
  [Clang][Sema] Diagnose declarative nested-name-specifiers naming alias templates (#80842)

According to [expr.prim.id.qual] p3:
> The _nested-name-specifier_ `​::` nominates the global namespace. A
_nested-name-specifier_ with a _computed-type-specifier_ nominates the
type denoted by the _computed-type-specifier_, which shall be a class or
enumeration type. **If a _nested-name-specifier_ `N` is declarative and
has a _simple-template-id_ with a template argument list `A` that
involves a template parameter, let `T` be the template nominated by `N`
without `A`. `T` shall be a class template.**

Meaning, the out-of-line definition of `A::f` in the following example
is ill-formed:
```
template<typename T>
struct A 
{ 
    void f(); 
};

template<typename T>
using B = A<T>;

template<typename T>
void B<T>::f() { } // error: a declarative nested name specifier cannot name an alias template
```

This patch diagnoses such cases as an extension (in group `alias-template-in-declaration-name`).


  Commit: ba3c1f9ce30cf4f8aee5f1961df74d65e11d53bc
      https://github.com/llvm/llvm-project/commit/ba3c1f9ce30cf4f8aee5f1961df74d65e11d53bc
  Author: Yuta Saito <kateinoigakukun at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    A lld/test/wasm/no-strip-segment.s
    M lld/wasm/InputChunks.h
    M lld/wasm/MarkLive.cpp
    M llvm/include/llvm/BinaryFormat/Wasm.h
    M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/MC/MCParser/WasmAsmParser.cpp
    M llvm/lib/MC/MCSectionWasm.cpp
    M llvm/lib/ObjectYAML/WasmYAML.cpp
    A llvm/test/CodeGen/WebAssembly/no-strip.ll
    M llvm/test/MC/WebAssembly/no-dead-strip.ll

  Log Message:
  -----------
  [WebAssembly] Add segment RETAIN flag to support private retained data (#81539)

In WebAssembly, we have `WASM_SYMBOL_NO_STRIP` symbol flag to mark the
referenced content as retained. However, the flag is not enough to
express retained data that is not referenced by any symbol. This patch
adds a new segment flag`WASM_SEG_FLAG_RETAIN` to support "private"
linkage data that is retained by llvm.used.

This kind of data that is not referenced but must be retained is usually
used with encapsulation symbols (__start/__stop). Swift runtime uses
this technique and depends on the fact "all metadata sections in live
objects are retained", which was not guaranteed with `--gc-sections`
before this patch.

This is a revised version of https://reviews.llvm.org/D126950 (has been
reverted) based on @MaskRay's comments


  Commit: 807ed697beb438407905f3c728ed8c34ccc2d0d2
      https://github.com/llvm/llvm-project/commit/807ed697beb438407905f3c728ed8c34ccc2d0d2
  Author: Valery Pykhtin <valery.pykhtin at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/sdwa-preserve.mir

  Log Message:
  -----------
  [AMDGPU] Use autogenerated test checks for sdwa-preserve.mir test. NFC. (#82380)


  Commit: a9b5753220ef1f24b1b5bb44b5ca485a66c66349
      https://github.com/llvm/llvm-project/commit/a9b5753220ef1f24b1b5bb44b5ca485a66c66349
  Author: Alan Zhao <alanzhao1 at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/test/Transforms/LoopRotate/coroutine.ll

  Log Message:
  -----------
  [LoopRotate][coroutines] Avoid hoisting addresses of thread-local variables outside loops in coroutines (#81937)

Because loops in coroutines may have a co_await statement that
reschedules the coroutine to another thread, we cannot cache addresses
of thread-local variables obtained inside a loop by moving the
computation of thoes addresses outside a loop.

Since LLVM doesn't have a model for coroutine memory accesses, this
patch fixes this bug by disabling this optimization for coroutines in
the same way as https://reviews.llvm.org/D135550 and
https://reviews.llvm.org/D151774.


  Commit: f740366fa68d3cfceda7efe2d573348253fbb1e9
      https://github.com/llvm/llvm-project/commit/f740366fa68d3cfceda7efe2d573348253fbb1e9
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/test/Dialect/SparseTensor/codegen.mlir

  Log Message:
  -----------
  [mlir][sparse] support type conversion from SoA COO to memrefs. (#82398)


  Commit: 0b2b91ee9cf92d08e5eec159545ce4147b8d908e
      https://github.com/llvm/llvm-project/commit/0b2b91ee9cf92d08e5eec159545ce4147b8d908e
  Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
    A llvm/test/DebugInfo/fixed-point.ll

  Log Message:
  -----------
  Reapply "[llvm] Fix assertion error where we didn't check fixed point… (#82412)

… types." (#82285)

This reverts commit d9f9775ac6289271d57671c55166fa0cad61075b.

The test was missing a `REQUIRES: object-emission`.


  Commit: 19e71726eee3f35c3f37f6394fc4b001805f9c9a
      https://github.com/llvm/llvm-project/commit/19e71726eee3f35c3f37f6394fc4b001805f9c9a
  Author: Caroline Tice <cmtice at google.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

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

  Log Message:
  -----------
  [LLVM][unittests] Fix type issue in STLExtrasTest.cpp

Fixes a type error in UniqueNoPred test, that is causing the
ppc64le-lld-multistage-test buildbot to fail.


  Commit: cd4e2466163c46c4e731f8dfc77a9b6673d26c89
      https://github.com/llvm/llvm-project/commit/cd4e2466163c46c4e731f8dfc77a9b6673d26c89
  Author: Lucile Rose Nihlen <luci.the.rose at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge
    M .ci/monolithic-windows.sh

  Log Message:
  -----------
  repair and re-enable Windows buildkite presubmit (#82393)


  Commit: a468d02fe9e544f39f6c0428c23b2396df6a35ff
      https://github.com/llvm/llvm-project/commit/a468d02fe9e544f39f6c0428c23b2396df6a35ff
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/include/clang/Driver/Driver.h
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M flang/CMakeLists.txt
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/runtime/CMakeLists.txt
    A flang/runtime/Float128Math/CMakeLists.txt
    A flang/runtime/Float128Math/cabs.cpp
    A flang/runtime/Float128Math/math-entries.h
    A flang/runtime/Float128Math/sin.cpp
    A flang/runtime/Float128Math/sqrt.cpp
    M flang/test/Lower/Intrinsics/missing-math-runtime.f90
    M flang/tools/flang-driver/driver.cpp

  Log Message:
  -----------
  [flang][runtime] Add FortranFloat128Math wrapper library. (#81971)

Implemented few entry points for REAL(16) math in FortranF128Math
static library. It is a thin wrapper around GNU libquadmath.
Flang driver can always link it, and the dependencies will
be brought in as needed.
The final Fortran program/library that uses any of the entry points
will depend on the underlying third-party library - this dependency
has to be resolved somehow. I added FLANG_RUNTIME_F128_MATH_LIB
CMake control so that the compiler driver and the runtime library
can be built using the same third-party library: this way the linker
knows which dependency to link in (under --as-needed).
The compiler distribution should specify which third-party library
is required for linking/running the apps that use REAL(16).
The compiler package may provide a version of the third-party library
or at least a stub library that can be used for linking, but
the final program execution will still require the actual library.


  Commit: ed4bdb86b084bf633770136d005426adeeb2cd57
      https://github.com/llvm/llvm-project/commit/ed4bdb86b084bf633770136d005426adeeb2cd57
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M libc/src/__support/CPP/bit.h
    M libc/test/src/__support/CPP/bit_test.cpp

  Log Message:
  -----------
  [libc][__support][bit] add count_zeros (#82076)


Will be useful for implementing C23 stdbit.h's stdc_count_zeros and
stdc_count_ones.


  Commit: f804e2badf30321121df4d0d7df8e32e10f134cc
      https://github.com/llvm/llvm-project/commit/f804e2badf30321121df4d0d7df8e32e10f134cc
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp
    M lld/test/ELF/eh-frame-pcrel-overflow.s

  Log Message:
  -----------
  [ELF] .eh_frame: use errorOrWarn for "PC offset is too large"

errorOrWarn is more conventional for recoverable errors. This error
message does not have to use `fatal`, and we try to remove such uses in
parallel code paths.


  Commit: bb029a5c039766ef83c88a456cf936cec0a1a69b
      https://github.com/llvm/llvm-project/commit/bb029a5c039766ef83c88a456cf936cec0a1a69b
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/ExtractAPI/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
    A llvm/utils/gn/secondary/clang/unittests/InstallAPI/BUILD.gn

  Log Message:
  -----------
  [gn] port 4c6043de0b83 (InstallAPITests)


  Commit: d6850be44d2bfcd79d31fede3b8018357416da03
      https://github.com/llvm/llvm-project/commit/d6850be44d2bfcd79d31fede3b8018357416da03
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    A mlir/test/Integration/Dialect/Linalg/CPU/mmt4d.mlir

  Log Message:
  -----------
  [mlir][linalg] Add e2e test for linalg.mmt4d (#81790)

Follow-up for #81422. My intention is to write an e2e test targetting
SVE, but more work is needed. Sending this as an intermiedate step.


  Commit: 7542f60b722d87fb64e911439cb7b64344a48763
      https://github.com/llvm/llvm-project/commit/7542f60b722d87fb64e911439cb7b64344a48763
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn

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


  Commit: 1db2859dd972dfe1284564c43d55c30280f977d5
      https://github.com/llvm/llvm-project/commit/1db2859dd972dfe1284564c43d55c30280f977d5
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M flang/lib/Parser/prescan.cpp
    M flang/test/Preprocessing/pp005.F
    M flang/test/Preprocessing/pp006.F
    M flang/test/Preprocessing/pp105.F90
    M flang/test/Preprocessing/pp106.F90
    M flang/test/Preprocessing/pp134.F90

  Log Message:
  -----------
  [flang] Handle more use cases reported for issues/78797 (#79628)

I implemented legacy "token pasting" via line continuation for

  call prefix&
    &MACRO&
    &suffix(1)

in a recent patch; this patch addresses the related cases

  call prefix&
    &MACRO&
    &(1)

and

  call &
    &MACRO&
    &suffix(1)

Fixes the latest https://github.com/llvm/llvm-project/issues/79590.


  Commit: 1219214a3bcc51022492928b8bb4ff4bdb75d0cb
      https://github.com/llvm/llvm-project/commit/1219214a3bcc51022492928b8bb4ff4bdb75d0cb
  Author: Sumanth Gundapaneni <sgundapa at quicinc.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
    A llvm/test/CodeGen/Hexagon/ldst_vector_offset.ll

  Log Message:
  -----------
  [Hexagon] Update InstrInfo to include LD/ST offsets of vector instructions (#82386)

The hook HexagonInstrInfo::isValidOffset() is updated to evaluate
offsets of missed LD/ST vector instructions.


  Commit: 96b17043507caec02a2ef440b369506122bdeb11
      https://github.com/llvm/llvm-project/commit/96b17043507caec02a2ef440b369506122bdeb11
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M flang/runtime/unit.cpp

  Log Message:
  -----------
  [flang][runtime] Don't write implied ENDFILE for REC=/POS= (#79637)

An implied ENDFILE record, which truncates an external file, should be
written to a sequential unit whenever the file is repositioned for a
BACKSPACE or REWIND statement if a WRITE statement has executed since
the last OPEN/BACKSPACE/REWIND.

But the REC= and POS= positioning specifiers don't apply to sequential
units (they're for direct and stream units, resp.), so don't truncate
the file when they're used.


  Commit: 78762357d449cfcd11426c8e152302a27f2e7d4d
      https://github.com/llvm/llvm-project/commit/78762357d449cfcd11426c8e152302a27f2e7d4d
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Writer.cpp
    M lld/docs/ld.lld.1
    M lld/test/ELF/lto/codemodel.ll
    M lld/test/ELF/x86-64-section-layout.s

  Log Message:
  -----------
  [ELF] Support placing .lbss/.lrodata/.ldata after .bss

https://reviews.llvm.org/D150510 places .lrodata before .rodata to
minimize the number of permission transitions in the memory image.
However, this layout is less ideal for -fno-pic code (which is still
important).

Small code model -fno-pic code has R_X86_64_32S relocations with a range
of `[0,2**31)` (if we ignore the negative area). Placing `.lrodata`
earlier exerts relocation pressure on such code. Non-x86 64-bit
architectures generally have a similar `[0,2**31)` limitation if they
don't use PC-relative relocations.

If we place .lrodata later, we will need one extra PT_LOAD. Two layouts
are appealing:

* .bss/.lbss/.lrodata/.ldata (GNU ld)
* .bss/.ldata/.lbss/.lrodata

The GNU ld layout has the nice property that there is only one BSS
(except .tbss/.relro_padding). Add -z lrodata-after-bss to support
this layout.

Since a read-only PT_LOAD segment (for large data sections) may appear
after RW PT_LOAD segments. The placement of `_etext` has to be adjusted.

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


  Commit: 5a20a208037d32d52f0c626ea3b199278ff0df0a
      https://github.com/llvm/llvm-project/commit/5a20a208037d32d52f0c626ea3b199278ff0df0a
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Parser/preprocessor.cpp
    M flang/lib/Parser/preprocessor.h
    M flang/lib/Semantics/check-directive-structure.h

  Log Message:
  -----------
  [flang] Resolve "possible performance problem" issue spam (#79769)

Four "issues" on GitHub report possible performance problems, likely
detected by static analysis. None of them would ever make a measureable
difference in compilation time, but I'm resolving them to clean up the
open issues list.

Fixes https://github.com/llvm/llvm-project/issues/79703, .../79705,
.../79706, & .../79707.


  Commit: adf838daee63b3245c8822957988da5367e1572c
      https://github.com/llvm/llvm-project/commit/adf838daee63b3245c8822957988da5367e1572c
  Author: Balaji V. Iyer <43187390+bviyer at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
    M mlir/test/Dialect/Linalg/vectorization.mlir

  Log Message:
  -----------
  [mlir][Vectorizer] Added support to Vectorize tensor.unpack (#76087)

Added support to vectorized tensor.unpack. The unpack Op is split into a
`vector.transfer_read`, `vector.transpose`, `vector.shape_cast` and a
`vector.transfer_write`.


  Commit: 18f0da5b9bbe8ebf63eb17bfa5deff94bd602f64
      https://github.com/llvm/llvm-project/commit/18f0da5b9bbe8ebf63eb17bfa5deff94bd602f64
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-prefer-isa-or-dyn-cast-in-conditionals in OpFormatGen.cpp (NFC)


  Commit: e13bbd1e71797c781a0b242a7c121e5c5c620bc2
      https://github.com/llvm/llvm-project/commit/e13bbd1e71797c781a0b242a7c121e5c5c620bc2
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/tools/mlir-tblgen/RewriterGen.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for modernize-use-emplace in RewriterGen.cpp (NFC)


  Commit: dd5696cdefaff2b3ee9c4de3053e31630863588c
      https://github.com/llvm/llvm-project/commit/dd5696cdefaff2b3ee9c4de3053e31630863588c
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/unittests/Bytecode/BytecodeTest.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for readability-identifier-naming in BytecodeTest.cpp (NFC)


  Commit: 1893a3743eb971f0ea7657dc119b642a12870a1e
      https://github.com/llvm/llvm-project/commit/1893a3743eb971f0ea7657dc119b642a12870a1e
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for performance-unnecessary-value-param in FileLineColLocBreakpointManagerTest.cpp (NFC)


  Commit: 31f45596737f37e16226c039ff6f53406174b9d5
      https://github.com/llvm/llvm-project/commit/31f45596737f37e16226c039ff6f53406174b9d5
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/unittests/Dialect/SPIRV/SerializationTest.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for performance-unnecessary-value-param in SerializationTest.cpp (NFC)


  Commit: 563ef306017a47d387f1c36dd562b172c1ad0626
      https://github.com/llvm/llvm-project/commit/563ef306017a47d387f1c36dd562b172c1ad0626
  Author: jimingham <jingham at apple.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M lldb/include/lldb/Interpreter/CommandObject.h
    M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp
    M lldb/source/Commands/CommandObjectDWIMPrint.h
    M lldb/source/Commands/CommandObjectFrame.cpp
    M lldb/source/Commands/CommandObjectPlatform.cpp
    M lldb/source/Commands/CommandObjectPlugin.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectRegister.cpp
    M lldb/source/Commands/CommandObjectSession.cpp
    M lldb/source/Commands/CommandObjectSettings.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/Interpreter/CommandObject.cpp
    M lldb/test/API/commands/help/TestHelp.py
    M lldb/test/API/functionalities/completion/TestCompletion.py

  Log Message:
  -----------
  Add the RegisterCompleter to eArgTypeRegisterName in g_argument_table (#82428)

This is a follow-on to:

https://github.com/llvm/llvm-project/pull/82085

The completer for register names was missing from the argument table. I
somehow missed that the only register completer test was x86_64, so that
test broke.

I added the completer in to the right slot in the argument table, and
added a small completions test that just uses the alias register names.
If we end up having a platform that doesn't define register names, we'll
have to skip this test there, but it should add a sniff test for
register completion that will run most everywhere.


  Commit: be8b2d1ea54f964603b89ab9d4dfad26afebb347
      https://github.com/llvm/llvm-project/commit/be8b2d1ea54f964603b89ab9d4dfad26afebb347
  Author: Moshe <moshberm at Gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h

  Log Message:
  -----------
  Add explicit conversion to fix arm64 builds. (#82429)

Fixes issue preventing builds on ARM-based Macs.

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

Co-authored-by: Moshe Berman <mosheberman at users.noreply.github.com>


  Commit: 2236048f5fdde70dd95e97ccc87437424a371cef
      https://github.com/llvm/llvm-project/commit/2236048f5fdde70dd95e97ccc87437424a371cef
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/resolve17.f90

  Log Message:
  -----------
  [flang] Further refine errors vs warnings for ambiguous generics (#80161)

Ensure that the compiler emits a hard error for a generic interface with
ambiguous specific procedures when it is declared as such, and the
ambiguity doesn't involve optional or unlimited polymorphic dummy data
arguments. But: emit an optional portability warning when the ambiguity
in the generic interface is due to USE association's merging of multiple
generics, as USE association may involve modules not under control of
the programmer; we'll emit a hard error message if any the actual
arguments in a particular reference to the generic procedure doesn't
resolve to exactly one specific procedure. And don't emit warnings when
potential ambiguity due to USE association is taking place in a module
file; the warnings, if any, will have been produced when the module file
was compiled.


  Commit: 39cab1a0a0d68cb33142099c320674fa54e11a91
      https://github.com/llvm/llvm-project/commit/39cab1a0a0d68cb33142099c320674fa54e11a91
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

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

  Log Message:
  -----------
  [AMDGPU] Add v2bf16 for opsel immediate folding (#82435)

This was previously enabled since v2bf16 was represented by v2f16. As of
now it is NFC since we only have dot instructions which could use it,
but currently folding is guarded by the hasDOTOpSelHazard().


  Commit: 54b014b3f76e1c0060bd129e1196b6c729cb30b0
      https://github.com/llvm/llvm-project/commit/54b014b3f76e1c0060bd129e1196b6c729cb30b0
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp

  Log Message:
  -----------
  [llvm-jitlink] Use '@' rather than ':' for separator in -sectcreate.

This should avoid the issue with Windows paths that have caused failures on
some builders.


  Commit: 3ff805540173b83d73b673b39ac5760fc19bac15
      https://github.com/llvm/llvm-project/commit/3ff805540173b83d73b673b39ac5760fc19bac15
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    A clang/test/ClangScanDeps/optimize-canonicalize-macros.m
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp

  Log Message:
  -----------
  [clang][ScanDeps] Canonicalize -D and -U flags (#82298)

Canonicalize `-D` and `-U` flags by sorting them and only keeping the
last instance of a given name.

This optimization will only fire if all `-D` and `-U` flags start with a
simple identifier that we can guarantee a simple analysis of can
determine if two flags refer to the same identifier or not. See the
comment on `getSimpleMacroName()` for details of what the issues are.


  Commit: d3fcf310310ddfea1acf0d54bb7574ea2f6d9077
      https://github.com/llvm/llvm-project/commit/d3fcf310310ddfea1acf0d54bb7574ea2f6d9077
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td

  Log Message:
  -----------
  AMDGPU: Use HasFP8ConversionInsts appropriately, NFC (#82433)

The corresponding fp8 conversion instructions are available for a
subtarget when and only when the subtarget "HasFP8ConversionInsts". We
should not assume all the future subtargets (gfx12+) have
FP8ConversionInsts.
  In this patch, we use OtherPredicates to carry HasFP8ConversionInsts
feature. This is because SubtargetPredicate is not copied from pseudos
to reals for DPP16 and DPP6. To avoid overriding OtherPredicates in a
few places, we use the newly introduced True16Predicate to hold
UseRealTrue16Insts instead.
 This work repalces the inadvertently closed pull request:
https://github.com/llvm/llvm-project/pull/82024


  Commit: 53e96984b6dbb9d8ff55d2ccd0c27ffc1d27315f
      https://github.com/llvm/llvm-project/commit/53e96984b6dbb9d8ff55d2ccd0c27ffc1d27315f
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/test/SemaCUDA/float16.cu

  Log Message:
  -----------
  [NVPTX] Enable the _Float16 type for NVPTX compilation (#82436)

Summary:
The PTX target supports the f16 type natively and we alreaqdy have a few
LLVM backend tests that support the LLVM-IR. We should be able to enable
this for generic use. This is done prior the f16 math functions being
written in the GPU libc case.


  Commit: dc672d2f6a48fb3d502c260eb353f389723ec417
      https://github.com/llvm/llvm-project/commit/dc672d2f6a48fb3d502c260eb353f389723ec417
  Author: jimingham <jingham at apple.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M lldb/test/API/functionalities/completion/TestCompletion.py

  Log Message:
  -----------
  Remove the "generic" register completion test. (#82445)

For reasons that are not clear to me, on arm64, the alias registers are
listed in list of register info's we do completion against, but for
x86_64 they are not. Maybe this is a difference in how the dynamic
register builders work for the two systems. Anyway, it doesn't look
possible to make a generic one.


  Commit: 646c7e528325f239638c5e758631b999993510d8
      https://github.com/llvm/llvm-project/commit/646c7e528325f239638c5e758631b999993510d8
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

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

  Log Message:
  -----------
  [libc] add more stdbit.h entrypoints to additional targets (#82440)

stdbit.h isn't complete yet, but looking to turn these on on more
targets for
earlier feedback.


  Commit: ff4d6c64ee4269e4a9b67a4dae7e0b82ae1c3419
      https://github.com/llvm/llvm-project/commit/ff4d6c64ee4269e4a9b67a4dae7e0b82ae1c3419
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/test/lit.cfg.py
    M llvm/test/lit.site.cfg.py.in

  Log Message:
  -----------
  Fix llvm-x86_64-debian-dylib buildbot

This was broken by 91a384621e5b762d9c173ffd247cfeadd5f436a2.


  Commit: 98db8d0cb78e9dd3f78427d519ae8dd175b70b03
      https://github.com/llvm/llvm-project/commit/98db8d0cb78e9dd3f78427d519ae8dd175b70b03
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt

  Log Message:
  -----------
  [AMDGPU] Fix v_dot2_f16_f16/v_dot2_bf16_bf16 operands (#82423)

src0 and src1 are packed f16/bf16, we are printing literals like
0x40002000, but we cannot parse it.


  Commit: f78027dfeca9925efe7e025beb05b4cef8a1581a
      https://github.com/llvm/llvm-project/commit/f78027dfeca9925efe7e025beb05b4cef8a1581a
  Author: Boian Petkantchin <boian.petkantchin at amd.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/test/Dialect/Mesh/process-multi-index-op-lowering.mlir

  Log Message:
  -----------
  [mlir][mesh] Better op result names (#82408)

Implement OpAsmOpInterface for most ops to increase IR readability. For
example `mesh.process_linear_index` would produce a value with name
`proc_linear_idx`.


  Commit: 4ca0480a4fefe25c2f6e36c04f02998af79274a0
      https://github.com/llvm/llvm-project/commit/4ca0480a4fefe25c2f6e36c04f02998af79274a0
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/test/Driver/arm-compiler-rt.c
    M clang/test/Driver/baremetal-multilib.yaml
    M clang/test/Driver/baremetal-sysroot.cpp
    M clang/test/Driver/baremetal.cpp

  Log Message:
  -----------
  [Driver,BareMetal] Replace -lclang_rt.builtins{,-$arch}.a with an absolute path (#82424)

The generic `tools::AddRunTimeLibs` uses an absolute path. Change
BareMetal to match.

I believe users are not supposed to place other files under the
directory containing `libclang_rt.builtins-$arch.a`. If they rely on the
implicit -L, they now need to explicitly specify -L.


  Commit: 5248a9872454065b5e4d44ca2f29329df7c2d28f
      https://github.com/llvm/llvm-project/commit/5248a9872454065b5e4d44ca2f29329df7c2d28f
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.h
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir

  Log Message:
  -----------
  [mlir][sparse] support SoA COO in codegen path. (#82439)

*NOTE*: the `SoA` property only makes a difference on codegen path, and
is ignored in libgen path at the moment (only SoA COO is supported).


  Commit: 7c071c23ffe934d863f3a1863d77b41f7e4d2b51
      https://github.com/llvm/llvm-project/commit/7c071c23ffe934d863f3a1863d77b41f7e4d2b51
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/test/BUILD.gn

  Log Message:
  -----------
  [gn] port ff4d6c64ee42


  Commit: 031f9f331723e6bebc405ffdee4b8a87a5fc0472
      https://github.com/llvm/llvm-project/commit/031f9f331723e6bebc405ffdee4b8a87a5fc0472
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp

  Log Message:
  -----------
  [alpha.webkit.UncountedCallArgsChecker] Ignore calls to WTF's container methods (#82156)

This PR makes the checker ignore / skip calls to methods of Web Template
Platform's container types such as HashMap, HashSet, WeakHashSet,
WeakHashMap, Vector, etc...


  Commit: 84ed55e11f8d8f434395f869a1caa8485dd0c187
      https://github.com/llvm/llvm-project/commit/84ed55e11f8d8f434395f869a1caa8485dd0c187
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    R clang/test/ClangScanDeps/optimize-canonicalize-macros.m
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp

  Log Message:
  -----------
  Revert "[clang][ScanDeps] Canonicalize -D and -U flags (#82298)"

This reverts commit 3ff805540173b83d73b673b39ac5760fc19bac15.

Test is failing on bots, see
https://github.com/llvm/llvm-project/pull/82298#issuecomment-1955664462


  Commit: 8603a7b21f301508d3a6af9f2238c7b92ce19617
      https://github.com/llvm/llvm-project/commit/8603a7b21f301508d3a6af9f2238c7b92ce19617
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVSubtarget.h

  Log Message:
  -----------
  [RISCV] Add a query for exact VLEN to RISCVSubtarget [nfc]

We've now got enough of these in tree that we can see which patterns
appear to be idiomatic.  As such, extract a helper for checking
if we know the exact VLEN.


  Commit: b9a071dc3995c1599724447b9db8ced449318839
      https://github.com/llvm/llvm-project/commit/b9a071dc3995c1599724447b9db8ced449318839
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/test/Dialect/Linalg/canonicalize.mlir
    M mlir/test/Dialect/Linalg/generalize-tensor-pack-tile.mlir
    M mlir/test/Dialect/Linalg/generalize-tensor-pack.mlir
    M mlir/test/Dialect/Linalg/generalize-tensor-unpack-tile.mlir
    M mlir/test/Dialect/Linalg/generalize-tensor-unpack.mlir

  Log Message:
  -----------
  [mlir][Linalg] Add folders for `linalg.transpose` (#81709)

This PR adds folders for linalg transpose ops with only one dimension or
an identity permutation. The folding removes the `linalg.transpose` and
just propagates the input tensor.


  Commit: 2836d8edbfbcd461b25101ed58f93c862d65903a
      https://github.com/llvm/llvm-project/commit/2836d8edbfbcd461b25101ed58f93c862d65903a
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M .github/workflows/release-tasks.yml
    M llvm/utils/release/github-upload-release.py

  Log Message:
  -----------
  [workflows] Fix permissions check for creating new releases (#81163)

The default GitHub token does not have read permissions on the org, so
we need to use a custom token in order to read the members of the
llvm-release-managers team.


  Commit: 5a45d32b5b42dc4ed4852b0045391a1c2be41b48
      https://github.com/llvm/llvm-project/commit/5a45d32b5b42dc4ed4852b0045391a1c2be41b48
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M lldb/include/lldb/Utility/FileSpecList.h
    M lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-separate-debug-file.cpp

  Log Message:
  -----------
  [lldb] Add more ways to find the .dwp file. (#81067)

When using split DWARF we can run into many different ways to store
debug info:
- lldb loads `<exe>` which contains skeleton DWARF and needs to find
`<exe>.dwp`
- lldb loads `<exe>` which is stripped but has .gnu_debuglink pointing
to `<exe>.debug` with skeleton DWARF and needs to find `<exe>.dwp`
- lldb loads `<exe>` which is stripped but has .gnu_debuglink pointing
to `<exe>.debug` with skeleton DWARF and needs to find `<exe>.debug.dwp`
- lldb loads `<exe>.debug` and needs to find `<exe>.dwp`

Previously we only handled the first two cases. This patch adds support
for the latter two.


  Commit: f40ee6e83f263fc4240c5b8d31a7e0e148a28cf6
      https://github.com/llvm/llvm-project/commit/f40ee6e83f263fc4240c5b8d31a7e0e148a28cf6
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
    M mlir/test/Dialect/SparseTensor/external.mlir

  Log Message:
  -----------
  [mlir][sparse] assemble SoA COO correctly. (#82449)


  Commit: c02b0d008c17cdf8dc46ad930c69311bcd8c7dd4
      https://github.com/llvm/llvm-project/commit/c02b0d008c17cdf8dc46ad930c69311bcd8c7dd4
  Author: Owen Anderson <resistor at users.noreply.github.com>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    A llvm/test/CodeGen/AArch64/extractvector-of-load.mir

  Log Message:
  -----------
  [GlobalISel] Make sure to check for load barriers when merging G_EXTRACT_VECTOR_ELT into G_LOAD. (#82306)

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


  Commit: 03203b79c6247465850ee6e9f3e2399afc35720b
      https://github.com/llvm/llvm-project/commit/03203b79c6247465850ee6e9f3e2399afc35720b
  Author: Michal Paszkowski <michal at paszkowski.org>
  Date:   2024-02-20 (Tue, 20 Feb 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    R llvm/test/CodeGen/SPIRV/opencl/basic/vstore_private.ll
    A llvm/test/CodeGen/SPIRV/opencl/vload2.ll
    A llvm/test/CodeGen/SPIRV/pointers/getelementptr-kernel-arg-char.ll

  Log Message:
  -----------
  [SPIR-V] Fix vloadn OpenCL builtin lowering (#81148)

This pull request fixes an issue with missing vector element count
immediate in OpExtInst calls and adds a case for generating bitcasts
before GEPs for kernel arguments of non-matching pointer type. The new
LITs are based on basic/vload_local and basic/vload_global OpenCL CTS
tests. The tests after this change pass SPIR-V validation.


  Commit: 79889734b940356ab3381423c93ae06f22e772c9
      https://github.com/llvm/llvm-project/commit/79889734b940356ab3381423c93ae06f22e772c9
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M llvm/include/llvm/ADT/GenericConvergenceVerifier.h
    M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    A llvm/include/llvm/CodeGen/MachineConvergenceVerifier.h
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/IR/GenericConvergenceVerifierImpl.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/Target.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/CodeGen/CMakeLists.txt
    A llvm/lib/CodeGen/MachineConvergenceVerifier.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/ValueTypes.cpp
    M llvm/lib/IR/ConvergenceVerifier.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    A llvm/test/CodeGen/AMDGPU/convergence-tokens.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-cc.ll
    M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
    M llvm/test/CodeGen/AMDGPU/need-fp-from-vgpr-spills.ll
    M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
    M llvm/test/CodeGen/AMDGPU/vgpr_constant_to_sgpr.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
    M llvm/test/CodeGen/PowerPC/fmf-propagation.ll
    A llvm/test/MachineVerifier/convergencectrl/AMDGPU/basic.mir
    A llvm/test/MachineVerifier/convergencectrl/AMDGPU/cycles.mir
    A llvm/test/MachineVerifier/convergencectrl/AMDGPU/lit.local.cfg
    A llvm/test/MachineVerifier/convergencectrl/AMDGPU/mixed2.mir
    A llvm/test/MachineVerifier/convergencectrl/AMDGPU/not-ssa.mir
    A llvm/test/MachineVerifier/convergencectrl/AMDGPU/region-nesting.mir
    M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td

  Log Message:
  -----------
  Implement convergence control in MIR using SelectionDAG (#71785)

LLVM function calls carry convergence control tokens as operand bundles, where
the tokens themselves are produced by convergence control intrinsics. This patch
implements convergence control tokens in MIR as follows:

1. Introduce target-independent ISD opcodes and MIR opcodes for convergence
   control intrinsics.
2. Model token values as untyped virtual registers in MIR.

The change also introduces an additional ISD opcode CONVERGENCECTRL_GLUE and a
corresponding machine opcode with the same spelling. This glues the convergence
control token to SDNodes that represent calls to intrinsics. The glued token is
later translated to an implicit argument in the MIR.

The lowering of calls to user-defined functions is target-specific. On AMDGPU,
the convergence control operand bundle at a non-intrinsic call is translated to
an explicit argument to the SI_CALL_ISEL instruction. Post-selection adjustment
converts this explicit argument to an implicit argument on the SI_CALL
instruction.


  Commit: 823102ab1e357e84846f03f2d6df5265271061bc
      https://github.com/llvm/llvm-project/commit/823102ab1e357e84846f03f2d6df5265271061bc
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [gn build] Port 79889734b940


  Commit: 7d348e93d41d0852563d8e0b39d488d0fdc1c070
      https://github.com/llvm/llvm-project/commit/7d348e93d41d0852563d8e0b39d488d0fdc1c070
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge
    M .ci/monolithic-windows.sh
    M .github/new-prs-labeler.yml
    M .github/workflows/release-tasks.yml
    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/Protocol.cpp
    M clang-tools-extra/clangd/Protocol.h
    M clang-tools-extra/clangd/test/initialize-params.test
    M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
    M clang-tools-extra/clangd/unittests/LSPClient.cpp
    M clang-tools-extra/clangd/unittests/LSPClient.h
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Options.td
    A clang/include/clang/InstallAPI/FileList.h
    A clang/include/clang/InstallAPI/HeaderFile.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/Descriptor.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Basic/Targets/NVPTX.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/ExtractAPI/CMakeLists.txt
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/InstallAPI/CMakeLists.txt
    A clang/lib/InstallAPI/FileList.cpp
    A clang/lib/InstallAPI/HeaderFile.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/test/AST/Interp/builtin-functions.cpp
    M clang/test/AST/Interp/c.c
    M clang/test/AST/Interp/complex.cpp
    M clang/test/AST/Interp/cxx17.cpp
    M clang/test/AST/Interp/records.cpp
    M clang/test/AST/Interp/shifts.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
    M clang/test/Analysis/Inputs/expected-plists/unix-fns.c.plist
    A clang/test/Analysis/unix-fns-o_creat.c
    M clang/test/Analysis/unix-fns.c
    M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p23.cpp
    M clang/test/CXX/drs/dr13xx.cpp
    M clang/test/CXX/drs/dr17xx.cpp
    M clang/test/CXX/drs/dr5xx.cpp
    A clang/test/CXX/expr/expr.prim/expr.prim.id/expr.prim.id.qual/p3.cpp
    M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p1.cpp
    M clang/test/CXX/temp/temp.spec/temp.expl.spec/p16.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx11.cl
    M clang/test/Driver/arm-compiler-rt.c
    M clang/test/Driver/baremetal-multilib.yaml
    M clang/test/Driver/baremetal-sysroot.cpp
    M clang/test/Driver/baremetal.cpp
    M clang/test/Driver/clang_f_opts.c
    M clang/test/Misc/warning-flags.c
    A clang/test/Modules/pr81745.cppm
    M clang/test/Preprocessor/init.c
    M clang/test/Sema/enum.c
    M clang/test/SemaCUDA/float16.cu
    M clang/test/SemaCXX/type-traits.cpp
    M clang/unittests/CMakeLists.txt
    A clang/unittests/InstallAPI/CMakeLists.txt
    A clang/unittests/InstallAPI/FileListTest.cpp
    A clang/unittests/InstallAPI/HeaderFileTest.cpp
    M compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp
    M flang/CMakeLists.txt
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Parser/preprocessor.cpp
    M flang/lib/Parser/preprocessor.h
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-directive-structure.h
    M flang/runtime/CMakeLists.txt
    A flang/runtime/Float128Math/CMakeLists.txt
    A flang/runtime/Float128Math/cabs.cpp
    A flang/runtime/Float128Math/math-entries.h
    A flang/runtime/Float128Math/sin.cpp
    A flang/runtime/Float128Math/sqrt.cpp
    M flang/runtime/unit.cpp
    M flang/test/Lower/Intrinsics/missing-math-runtime.f90
    M flang/test/Lower/OpenACC/acc-private.f90
    M flang/test/Preprocessing/pp005.F
    M flang/test/Preprocessing/pp006.F
    M flang/test/Preprocessing/pp105.F90
    M flang/test/Preprocessing/pp106.F90
    M flang/test/Preprocessing/pp134.F90
    M flang/test/Semantics/resolve17.f90
    M flang/tools/flang-driver/driver.cpp
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/gpu/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/arm/headers.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/docs/c23.rst
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/CMakeLists.txt
    A libc/include/llvm-libc-macros/stdckdint-macros.h
    A libc/include/stdckdint.h.def
    M libc/spec/stdc.td
    M libc/src/__support/CPP/atomic.h
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
    A libc/src/stdckdint/CMakeLists.txt
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/include/CMakeLists.txt
    A libc/test/include/stdckdint_test.cpp
    M libc/test/src/__support/CPP/bit_test.cpp
    M libcxx/docs/ReleaseNotes/18.rst
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Writer.cpp
    M lld/docs/ld.lld.1
    M lld/test/ELF/eh-frame-pcrel-overflow.s
    M lld/test/ELF/lto/codemodel.ll
    M lld/test/ELF/x86-64-section-layout.s
    A lld/test/wasm/no-strip-segment.s
    M lld/wasm/InputChunks.h
    M lld/wasm/MarkLive.cpp
    M lldb/include/lldb/Interpreter/CommandObject.h
    M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
    M lldb/include/lldb/Utility/FileSpecList.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp
    M lldb/source/Commands/CommandObjectDWIMPrint.h
    M lldb/source/Commands/CommandObjectFrame.cpp
    M lldb/source/Commands/CommandObjectPlatform.cpp
    M lldb/source/Commands/CommandObjectPlugin.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectRegister.cpp
    M lldb/source/Commands/CommandObjectSession.cpp
    M lldb/source/Commands/CommandObjectSettings.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/Interpreter/CommandObject.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/test/API/commands/help/TestHelp.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
    M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-separate-debug-file.cpp
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M llvm/include/llvm/ADT/GenericConvergenceVerifier.h
    M llvm/include/llvm/ADT/GenericUniformityImpl.h
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/include/llvm/BinaryFormat/Wasm.h
    M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    A llvm/include/llvm/CodeGen/MachineConvergenceVerifier.h
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    A llvm/include/llvm/ExecutionEngine/Orc/SectCreate.h
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/include/llvm/IR/DebugInfo.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/include/llvm/IR/GenericConvergenceVerifierImpl.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/Object/XCOFFObjectFile.h
    M llvm/include/llvm/ObjectYAML/XCOFFYAML.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/Target.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
    M llvm/include/llvm/Transforms/Utils/ValueMapper.h
    M llvm/lib/Analysis/Lint.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/CodeGen/CMakeLists.txt
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    A llvm/lib/CodeGen/MachineConvergenceVerifier.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/CodeGen/ValueTypes.cpp
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/lib/ExecutionEngine/Orc/SectCreate.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/ConvergenceVerifier.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/MC/MCParser/WasmAsmParser.cpp
    M llvm/lib/MC/MCSectionWasm.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.cpp
    M llvm/lib/Object/XCOFFObjectFile.cpp
    M llvm/lib/ObjectYAML/WasmYAML.cpp
    M llvm/lib/ObjectYAML/XCOFFEmitter.cpp
    M llvm/lib/ObjectYAML/XCOFFYAML.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    A llvm/lib/Target/AMDGPU/AMDGPUPredicateControl.td
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/R600.td
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/lib/Target/Hexagon/CMakeLists.txt
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
    R llvm/lib/Target/Hexagon/HexagonPostIncOpt.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVSubtarget.h
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/IPO/IROutliner.cpp
    M llvm/lib/Transforms/IPO/MergeFunctions.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Scalar/ADCE.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
    M llvm/lib/Transforms/Utils/ValueMapper.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.h
    A llvm/test/Analysis/Lint/abort-on-error.ll
    M llvm/test/Analysis/ValueTracking/constant-ranges.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-logic-of-compare.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-unmerge.mir
    M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
    M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
    M llvm/test/CodeGen/AArch64/abs.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
    M llvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
    M llvm/test/CodeGen/AArch64/bswap.ll
    A llvm/test/CodeGen/AArch64/extractvector-of-load.mir
    M llvm/test/CodeGen/AArch64/fpext.ll
    M llvm/test/CodeGen/AArch64/fptoi.ll
    M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
    M llvm/test/CodeGen/AArch64/framelayout-sve.mir
    M llvm/test/CodeGen/AArch64/llvm.exp10.ll
    M llvm/test/CodeGen/AArch64/reduce-and.ll
    M llvm/test/CodeGen/AArch64/reduce-or.ll
    M llvm/test/CodeGen/AArch64/reduce-xor.ll
    M llvm/test/CodeGen/AArch64/shift.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
    M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
    M llvm/test/CodeGen/AArch64/sve-alloca.ll
    M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
    M llvm/test/CodeGen/AArch64/sve-tailcall.ll
    M llvm/test/CodeGen/AArch64/unwind-preserved.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization-nan.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmaximum.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fminimum.ll
    M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-post-legalize.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-pre-legalize.mir
    A llvm/test/CodeGen/AMDGPU/convergence-tokens.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-cc.ll
    M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
    M llvm/test/CodeGen/AMDGPU/need-fp-from-vgpr-spills.ll
    M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
    M llvm/test/CodeGen/AMDGPU/sdwa-preserve.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
    M llvm/test/CodeGen/AMDGPU/vgpr_constant_to_sgpr.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
    A llvm/test/CodeGen/Hexagon/ldst_vector_offset.ll
    R llvm/test/CodeGen/Hexagon/post-inc-vec.mir
    R llvm/test/CodeGen/Hexagon/post_inc_store.mir
    R llvm/test/CodeGen/Hexagon/postincopt-crash.mir
    R llvm/test/CodeGen/Hexagon/postincopt-dcfetch.mir
    R llvm/test/CodeGen/Hexagon/valid-offset-loadbsw4.mir
    M llvm/test/CodeGen/PowerPC/aix-dwarf.ll
    M llvm/test/CodeGen/PowerPC/fmf-propagation.ll
    R llvm/test/CodeGen/SPIRV/opencl/basic/vstore_private.ll
    A llvm/test/CodeGen/SPIRV/opencl/vload2.ll
    A llvm/test/CodeGen/SPIRV/pointers/getelementptr-kernel-arg-char.ll
    A llvm/test/CodeGen/WebAssembly/no-strip.ll
    M llvm/test/CodeGen/X86/vector-reduce-add-mask.ll
    M llvm/test/CodeGen/X86/vector-reduce-ctpop.ll
    A llvm/test/DebugInfo/fixed-point.ll
    A llvm/test/ExecutionEngine/JITLink/Generic/Inputs/sectcreate-data.txt
    A llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test
    M llvm/test/MC/AMDGPU/bf16_imm.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    M llvm/test/MC/Disassembler/AMDGPU/bf16_imm.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/WebAssembly/no-dead-strip.ll
    A llvm/test/MachineVerifier/convergencectrl/AMDGPU/basic.mir
    A llvm/test/MachineVerifier/convergencectrl/AMDGPU/cycles.mir
    A llvm/test/MachineVerifier/convergencectrl/AMDGPU/lit.local.cfg
    A llvm/test/MachineVerifier/convergencectrl/AMDGPU/mixed2.mir
    A llvm/test/MachineVerifier/convergencectrl/AMDGPU/not-ssa.mir
    A llvm/test/MachineVerifier/convergencectrl/AMDGPU/region-nesting.mir
    M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
    M llvm/test/Transforms/ConstraintElimination/minmax.ll
    A llvm/test/Transforms/ConstraintElimination/sext.ll
    A llvm/test/Transforms/IndVarSimplify/hoist-wide-inc-for-narrow-use-recompute-flags.ll
    M llvm/test/Transforms/InstCombine/cast.ll
    M llvm/test/Transforms/InstCombine/dependent-ivs.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
    A llvm/test/Transforms/LoopIdiom/pr82337.ll
    M llvm/test/Transforms/LoopRotate/coroutine.ll
    M llvm/test/Transforms/LoopVectorize/vplan_hcfg_stress_test.ll
    A llvm/test/Transforms/MergeFunc/debuginfo-iterators.ll
    M llvm/test/lit.cfg.py
    M llvm/test/lit.site.cfg.py.in
    A llvm/test/tools/llvm-objcopy/ELF/non-load-at-load-start.test
    M llvm/test/tools/llvm-objdump/openbsd-headers.test
    M llvm/test/tools/llvm-readobj/ELF/program-headers.test
    M llvm/test/tools/llvm-readobj/XCOFF/sections.test
    A llvm/test/tools/yaml2obj/XCOFF/dwarf-subsection-types.yaml
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-objdump/ELFDump.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/llvm-readobj/XCOFFDumper.cpp
    M llvm/tools/llvm-reduce/DeltaManager.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceDPValues.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceDPValues.h
    M llvm/tools/obj2yaml/xcoff2yaml.cpp
    M llvm/unittests/ADT/STLExtrasTest.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/IR/ValueTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
    M llvm/utils/UpdateTestChecks/common.py
    M llvm/utils/gn/secondary/clang/lib/ExtractAPI/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
    A llvm/utils/gn/secondary/clang/unittests/InstallAPI/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
    M llvm/utils/gn/secondary/llvm/test/BUILD.gn
    M llvm/utils/release/github-upload-release.py
    M llvm/utils/release/test-release.sh
    M mlir/docs/Dialects/emitc.md
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
    M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
    M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/include/mlir/IR/DialectBase.td
    M mlir/include/mlir/IR/PatternMatch.h
    M mlir/include/mlir/TableGen/Dialect.h
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
    M mlir/lib/Dialect/GPU/Transforms/ParallelLoopMapper.cpp
    M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.h
    M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
    M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
    M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
    M mlir/lib/IR/PatternMatch.cpp
    M mlir/lib/TableGen/Dialect.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
    M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Dialect/Linalg/canonicalize.mlir
    M mlir/test/Dialect/Linalg/generalize-tensor-pack-tile.mlir
    M mlir/test/Dialect/Linalg/generalize-tensor-pack.mlir
    M mlir/test/Dialect/Linalg/generalize-tensor-unpack-tile.mlir
    M mlir/test/Dialect/Linalg/generalize-tensor-unpack.mlir
    M mlir/test/Dialect/Linalg/vectorization.mlir
    M mlir/test/Dialect/Mesh/process-multi-index-op-lowering.mlir
    M mlir/test/Dialect/SparseTensor/codegen.mlir
    M mlir/test/Dialect/SparseTensor/external.mlir
    A mlir/test/Dialect/Vector/vector-interleave-lowering-transforms.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/mmt4d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir
    M mlir/test/Transforms/test-strict-pattern-driver.mlir
    M mlir/test/lib/Dialect/Test/TestDialect.td
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/lib/Transforms/TestConstantFold.cpp
    M mlir/tools/mlir-tblgen/DialectGen.cpp
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp
    M mlir/tools/mlir-tblgen/RewriterGen.cpp
    M mlir/unittests/Bytecode/BytecodeTest.cpp
    M mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp
    M mlir/unittests/Dialect/SPIRV/SerializationTest.cpp
    A openmp/runtime/src/z_AIX_asm.S
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel

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

Created using spr 1.3.4

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/7ec24aa94c09...7d348e93d41d

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