[all-commits] [llvm/llvm-project] 4a3fb9: [Clang] Update 'counted_by' documentation

Aiden Grossman via All-commits all-commits at lists.llvm.org
Fri Jan 12 00:15:03 PST 2024


  Branch: refs/heads/users/boomanaiden154/exegesis-validation-counters-implementation
  Home:   https://github.com/llvm/llvm-project
  Commit: 4a3fb9ce27dda17e97341f28005a28836c909cfc
      https://github.com/llvm/llvm-project/commit/4a3fb9ce27dda17e97341f28005a28836c909cfc
  Author: Bill Wendling <morbo at google.com>
  Date:   2024-01-10 (Wed, 10 Jan 2024)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/CodeGen/CGBuiltin.cpp

  Log Message:
  -----------
  [Clang] Update 'counted_by' documentation

Describe a limitation of the 'counted_by' attribute when used in unions.
Also fix a errant typo.


  Commit: 422b84a77167c43259e18cc3eff88b4b2530defc
      https://github.com/llvm/llvm-project/commit/422b84a77167c43259e18cc3eff88b4b2530defc
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2024-01-10 (Wed, 10 Jan 2024)

  Changed paths:
    A mlir/include/mlir/Dialect/LLVMIR/Transforms/DIExpressionLegalization.h
    A mlir/include/mlir/Dialect/LLVMIR/Transforms/DIExpressionRewriter.h
    M mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/LLVMIR/Transforms/DIExpressionLegalization.cpp
    A mlir/lib/Dialect/LLVMIR/Transforms/DIExpressionRewriter.cpp
    M mlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    A mlir/test/Dialect/LLVMIR/di-expression-legalization.mlir

  Log Message:
  -----------
  [MLIR][LLVM] DI Expression Rewrite & Legalization (#77541)

Add a rewriter for DIExpressions & use it to run legalization patterns
before exporting to llvm (because LLVM dialect allows DI Expressions
that may not be valid in LLVM IR).

The rewriter driver works similarly to the existing mlir rewriter
drivers, except it operates on lists of DIExpressionElemAttr (i.e.
DIExpressionAttr). Each rewrite pattern transforms a range of
DIExpressionElemAttr into a new list of DIExpressionElemAttr.

In addition, this PR sets up a place to add legalization patterns that
are broadly applicable internally to the LLVM dialect, and they will
always be applied prior to export. This PR adds one pattern for merging
fragment operators.

---------

Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>


  Commit: 66981f9c616812fdc452c3c03a901b85e2e2fd90
      https://github.com/llvm/llvm-project/commit/66981f9c616812fdc452c3c03a901b85e2e2fd90
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-01-10 (Wed, 10 Jan 2024)

  Changed paths:
    M compiler-rt/include/profile/InstrProfData.inc
    A llvm/docs/InstrProfileFormat.rst
    M llvm/docs/UserGuides.rst
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/InstrProfData.inc

  Log Message:
  -----------
  [docs][IRPGO]Document two binary formats for instrumentation-based profiles, with a focus on IRPGO. (#76105)


  Commit: 03be448cce8b6a5f1aa36fc1b316508b08b3aa9f
      https://github.com/llvm/llvm-project/commit/03be448cce8b6a5f1aa36fc1b316508b08b3aa9f
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-01-10 (Wed, 10 Jan 2024)

  Changed paths:
    M llvm/test/CodeGen/Generic/live-debug-label.ll

  Log Message:
  -----------
  [RISCV][AMDGPU] Mark test/CodeGen/Generic/live-debug-label.ll XFAIL for RISCV and AMDGPU (#77631)

Both RISC-V and AMDGPU(GCN) deploy two VirtRegRewriter in their codegen
pipeline. This test prematurely stops at the first one, which doesn't
cleanup the virtual register map and cause an assertion failure. Ideally
we can solve this by teaching `-stop-after` how to stop at the last
instance of a Pass, but we're just marking XFAIL for these two targets
for now.


  Commit: 753dc0a01ccc3cbe87d5ee0fe0ec7f8db340966f
      https://github.com/llvm/llvm-project/commit/753dc0a01ccc3cbe87d5ee0fe0ec7f8db340966f
  Author: Yinying Li <107574043+yinying-lisa-li at users.noreply.github.com>
  Date:   2024-01-10 (Wed, 10 Jan 2024)

  Changed paths:
    M mlir/include/mlir/ExecutionEngine/Float16bits.h
    M mlir/include/mlir/ExecutionEngine/RunnerUtils.h
    M mlir/lib/ExecutionEngine/Float16bits.cpp
    M mlir/lib/ExecutionEngine/RunnerUtils.cpp
    A mlir/test/Integration/Dialect/Memref/verify-memref.mlir

  Log Message:
  -----------
  [mlir][verifyMemref] Fix bug and support more types for verifyMemref (#77682)

1. Fix a bug in verifyMemref to pass in `data` instead of `baseptr`,
which didn't verify data correctly.
2. Add `==` for f16 and bf16.
3. Add a comprehensive test of verifyMemref for all supported types.


  Commit: 66d022f326779c8abe80b272751fab1a10992222
      https://github.com/llvm/llvm-project/commit/66d022f326779c8abe80b272751fab1a10992222
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

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

  Log Message:
  -----------
  [clang][analyzer] Fix incorrect range of 'ftell' in the StdLibraryFunctionsChecker (#77576)

According to https://pubs.opengroup.org/onlinepubs/9699919799/, the
return value of `ftell` is not restricted to `> 0`, and may return `0`
in real world.


  Commit: 31fd6d116daba3b7f8e17a2c9d671e265f49be3c
      https://github.com/llvm/llvm-project/commit/31fd6d116daba3b7f8e17a2c9d671e265f49be3c
  Author: Boian Petkantchin <boian.petkantchin at amd.com>
  Date:   2024-01-10 (Wed, 10 Jan 2024)

  Changed paths:
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp

  Log Message:
  -----------
  [mlir][mesh] fix ProcessMultiIndexOp building (#77676)

Insert default empty mesh axes array instead of null attribute without MLIR context, since the attribute is default-valued not just optional.


  Commit: d85a13b867b17fa93965bc7e439a58c954045217
      https://github.com/llvm/llvm-project/commit/d85a13b867b17fa93965bc7e439a58c954045217
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-01-10 (Wed, 10 Jan 2024)

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

  Log Message:
  -----------
  Revert "[CommandLine][NFCI] Do not add 'All' to 'RegisteredSubCommands' (#77041)"

This reverts commit fb7fe49960ae053c92985f3376d85a15bbd10d1a.

The commit introduced a bug where an option with the `All' subcommand
would not be added to a category initialized after that option.


  Commit: 2dce77201c0c6b541a53aa7a09ec06e7561e8f74
      https://github.com/llvm/llvm-project/commit/2dce77201c0c6b541a53aa7a09ec06e7561e8f74
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-01-10 (Wed, 10 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/TypoCorrection.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaExpr.cpp
    R clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/bounds-checking.c
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    R clang/test/Sema/attr-counted-by.c

  Log Message:
  -----------
  Revert "[Clang] Implement the 'counted_by' attribute (#76348)"

This reverts commit fefdef808c230c79dca2eb504490ad0f17a765a5.

Breaks check-clang, see
https://github.com/llvm/llvm-project/pull/76348#issuecomment-1886029515

Also revert follow-on "[Clang] Update 'counted_by' documentation"

This reverts commit 4a3fb9ce27dda17e97341f28005a28836c909cfc.


  Commit: 6d19e89d240dfd91af748ef5126d33077f3411c1
      https://github.com/llvm/llvm-project/commit/6d19e89d240dfd91af748ef5126d33077f3411c1
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/Passes/PassRegistry.def

  Log Message:
  -----------
  [Pass] Remove trailing whitespace in `PassRegistry.def` NFC (#77710)


  Commit: e0c734561d5b268f8d24e68c535df8aa41369690
      https://github.com/llvm/llvm-project/commit/e0c734561d5b268f8d24e68c535df8aa41369690
  Author: S. B. Tam <cpplearner at outlook.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M libcxx/test/libcxx/memory/trivial_abi/unique_ptr_destruction_order.pass.cpp
    M libcxx/test/std/language.support/support.exception/propagation/make_exception_ptr.pass.cpp
    M libcxx/test/std/language.support/support.exception/propagation/rethrow_exception.pass.cpp
    M libcxx/test/support/msvc_stdlib_force_include.h
    M libcxx/test/support/test_macros.h

  Log Message:
  -----------
  [libc++][test] Replace uses of `_LIBCPP_ABI_MICROSOFT` in tests (#77233)


  Commit: 5a66c8ddc393dabbeba6c488bb802ebd9d43dd7f
      https://github.com/llvm/llvm-project/commit/5a66c8ddc393dabbeba6c488bb802ebd9d43dd7f
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst

  Log Message:
  -----------
  [Clang][doc] Add blank line before lists (#77573)

The doc is not correctly rendered with missing blank lines.


  Commit: 4eb68f53db608465cf557dbdfe85d9b4eb608fff
      https://github.com/llvm/llvm-project/commit/4eb68f53db608465cf557dbdfe85d9b4eb608fff
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-10 (Wed, 10 Jan 2024)

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

  Log Message:
  -----------
  [Instrumentation] Use a range-based for loop (NFC)


  Commit: 1bc4cb51afb9abf6049ccfa44069cb1f0612e678
      https://github.com/llvm/llvm-project/commit/1bc4cb51afb9abf6049ccfa44069cb1f0612e678
  Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrMisc.td
    M llvm/test/MC/X86/index-operations.s

  Log Message:
  -----------
  [X86][MC] Fix wrong action when encoding enqcmd/enqcmds (#77571)

Mentioned in https://github.com/llvm/llvm-project/pull/77293,
enqcmd/enqcmds are special for its mem operand, like movdir64b(see
https://github.com/llvm/llvm-project/commit/4dd5e9c60efa9), 0x67 prefix
can not only modify its address size, so it's mem base and index reg
should be the same type as source reg.


  Commit: cc77e33271371e6ea29569ba06db9cfd1aac022a
      https://github.com/llvm/llvm-project/commit/cc77e33271371e6ea29569ba06db9cfd1aac022a
  Author: James Grant <42079499+jamesg-nz at users.noreply.github.com>
  Date:   2024-01-10 (Wed, 10 Jan 2024)

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

  Log Message:
  -----------
  [clang-format] Don't apply severe penalty if no possible column formats (#76675)

If there are possible column formats, but they weren't selected because
they don't fit within remaining characters for the current path then
applying severe penalty to induce column layout by selection of a
different path seems fair.

But if due to style configuration or what the input code is, there are
no possible column formats, different paths aren't going to have column
layouts. Seems wrong to apply the severe penalty to induce column
layouts if there are none available.

It just causes selection of sub-optimal paths, e.g. get bad formatting
when brace initializers are used inside lambda bodies.

Fixes #56350


  Commit: b2c0c6f3f2741415d5257e16ca8d4083abe1b487
      https://github.com/llvm/llvm-project/commit/b2c0c6f3f2741415d5257e16ca8d4083abe1b487
  Author: Gedare Bloom <gedare at rtems.org>
  Date:   2024-01-10 (Wed, 10 Jan 2024)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format]: Split alignment of declarations around assignment (#69340)

Function pointers are detected as a type of declaration using
FunctionTypeLParen. They are aligned based on rules for
AlignConsecutiveDeclarations. When a function pointer is on the
right-hand side of an assignment, the alignment of the function pointer
can result in excessive whitespace padding due to the ordering of
alignment, as the alignment processes a line from left-to-right and
first aligns the declarations before and after the assignment operator,
and then aligns the assignment operator. Injection of whitespace by
alignment of declarations after the equal sign followed by alignment of
the equal sign results in the excessive whitespace.

Fixes #68079.


  Commit: 093e6bdd4bec8ce9b3baf1e8e0a07aa6549dd5d4
      https://github.com/llvm/llvm-project/commit/093e6bdd4bec8ce9b3baf1e8e0a07aa6549dd5d4
  Author: XDeme <66138117+XDeme at users.noreply.github.com>
  Date:   2024-01-10 (Wed, 10 Jan 2024)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/WhitespaceManager.h
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Fix crash involving array designators (#77045)

Fixes llvm/llvm-project#76716
Fixes parsing of `[0]{}`. Before this patch it was begin parsed as a
lambda, now it is correctly parsed as a designator initializer.


  Commit: 9ed30012fb4f43de42ef2f265fe384d9d0b0edf2
      https://github.com/llvm/llvm-project/commit/9ed30012fb4f43de42ef2f265fe384d9d0b0edf2
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
    M mlir/include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
    M mlir/lib/Conversion/ArithCommon/AttrToLLVMConverter.cpp

  Log Message:
  -----------
  [mlir][arith][nfc] Fix typos (#77700)

Cleanup after https://github.com/llvm/llvm-project/pull/77211


  Commit: 1fe7bdb87b0d6331b243b3834565ad9423d8f4b0
      https://github.com/llvm/llvm-project/commit/1fe7bdb87b0d6331b243b3834565ad9423d8f4b0
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrArithmetic.td
    M llvm/lib/Target/X86/X86InstrCompiler.td
    A llvm/test/CodeGen/X86/apx/adc.ll
    A llvm/test/CodeGen/X86/apx/add.ll
    A llvm/test/CodeGen/X86/apx/dec.ll
    A llvm/test/CodeGen/X86/apx/imul.ll
    A llvm/test/CodeGen/X86/apx/inc.ll
    A llvm/test/CodeGen/X86/apx/neg.ll
    A llvm/test/CodeGen/X86/apx/not.ll
    A llvm/test/CodeGen/X86/apx/or.ll
    A llvm/test/CodeGen/X86/apx/sbb.ll
    A llvm/test/CodeGen/X86/apx/sub.ll
    A llvm/test/CodeGen/X86/apx/xor.ll

  Log Message:
  -----------
  [X86][CodeGen] Support lowering for NDD ADD/SUB/ADC/SBB/OR/XOR/NEG/NOT/INC/DEC/IMUL (#77564)

We supported encoding/decoding for these instructions in

https://github.com/llvm/llvm-project/pull/76319
https://github.com/llvm/llvm-project/pull/76721
https://github.com/llvm/llvm-project/pull/76919


  Commit: 1e05236dbdf6f1b27b5e68c3948fec7deea4e3dc
      https://github.com/llvm/llvm-project/commit/1e05236dbdf6f1b27b5e68c3948fec7deea4e3dc
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-10 (Wed, 10 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp

  Log Message:
  -----------
  [Target] Use isNullConstant (NFC)


  Commit: 12bba0d4f8c2df655958decb8eb788327543b3fe
      https://github.com/llvm/llvm-project/commit/12bba0d4f8c2df655958decb8eb788327543b3fe
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-10 (Wed, 10 Jan 2024)

  Changed paths:
    M clang-tools-extra/clang-query/QueryParser.cpp

  Log Message:
  -----------
  [clang-query] Use StringRef::ltrim (NFC)


  Commit: be76f1646f966cbebb4c52ca0faa41921a284262
      https://github.com/llvm/llvm-project/commit/be76f1646f966cbebb4c52ca0faa41921a284262
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-10 (Wed, 10 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [Target] Use getConstantOperandAPInt (NFC)


  Commit: e8790027b169fa10dcdb04f076cf4efafeda704c
      https://github.com/llvm/llvm-project/commit/e8790027b169fa10dcdb04f076cf4efafeda704c
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll

  Log Message:
  -----------
  [RISCV] Allow vsetvlis with same register AVL in doLocalPostpass (#76801)


  Commit: 164f85db876e61cf4a3c34493ed11e8f5820f968
      https://github.com/llvm/llvm-project/commit/164f85db876e61cf4a3c34493ed11e8f5820f968
  Author: Bill Wendling <5993918+bwendling at users.noreply.github.com>
  Date:   2024-01-10 (Wed, 10 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/TypoCorrection.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/bounds-checking.c
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    A clang/test/Sema/attr-counted-by.c

  Log Message:
  -----------
  [Clang] Implement the 'counted_by' attribute (#76348)

The 'counted_by' attribute is used on flexible array members. The
argument for the attribute is the name of the field member holding the
count of elements in the flexible array. This information is used to
improve the results of the array bound sanitizer and the
'__builtin_dynamic_object_size' builtin. The 'count' field member must
be within the same non-anonymous, enclosing struct as the flexible array
member. For example:

```
  struct bar;
  struct foo {
    int count;
    struct inner {
      struct {
        int count; /* The 'count' referenced by 'counted_by' */
      };
      struct {
        /* ... */
        struct bar *array[] __attribute__((counted_by(count)));
      };
    } baz;
  };
```

This example specifies that the flexible array member 'array' has the
number of elements allocated for it in 'count':

```
  struct bar;
  struct foo {
    size_t count;
     /* ... */
    struct bar *array[] __attribute__((counted_by(count)));
  };
```

This establishes a relationship between 'array' and 'count';
specifically that 'p->array' must have *at least* 'p->count' number of
elements available. It's the user's responsibility to ensure that this
relationship is maintained throughout changes to the structure.

In the following, the allocated array erroneously has fewer elements
than what's specified by 'p->count'. This would result in an
out-of-bounds access not not being detected:

```
  struct foo *p;

  void foo_alloc(size_t count) {
    p = malloc(MAX(sizeof(struct foo),
                   offsetof(struct foo, array[0]) + count *
                       sizeof(struct bar *)));
    p->count = count + 42;
  }
```

The next example updates 'p->count', breaking the relationship
requirement that 'p->array' must have at least 'p->count' number of
elements available:

```
  void use_foo(int index, int val) {
    p->count += 42;
    p->array[index] = val; /* The sanitizer can't properly check this access */
  }
```

In this example, an update to 'p->count' maintains the relationship
requirement:

```
  void use_foo(int index, int val) {
    if (p->count == 0)
      return;
    --p->count;
    p->array[index] = val;
  }
```


  Commit: 3d795bdd4d9067e96b2ff9e6278a5b8847eebe2b
      https://github.com/llvm/llvm-project/commit/3d795bdd4d9067e96b2ff9e6278a5b8847eebe2b
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/test/Transforms/InstCombine/bitreverse.ll

  Log Message:
  -----------
  [InstCombine] Handle a bitreverse idiom which ends with a bswap (#77677)

This patch handles the following `bitreverse` idiom, which is found in
https://github.com/abseil/abseil-cpp/blob/8bd6445acc4bd0d123da2a44448b7218dfc70939/absl/crc/internal/crc.cc#L75-L80:

```
uint32_t ReverseBits(uint32_t bits) {
  bits = (bits & 0xaaaaaaaau) >> 1 | (bits & 0x55555555u) << 1;
  bits = (bits & 0xccccccccu) >> 2 | (bits & 0x33333333u) << 2;
  bits = (bits & 0xf0f0f0f0u) >> 4 | (bits & 0x0f0f0f0fu) << 4;
  return absl::gbswap_32(bits);
}
```

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


  Commit: 211abe38d83aced510726601c7cf6b464f6ee5b1
      https://github.com/llvm/llvm-project/commit/211abe38d83aced510726601c7cf6b464f6ee5b1
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/test/TableGen/dag-isel-complexpattern.td
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp

  Log Message:
  -----------
  [SelectionDAG] Add space-optimized forms of OPC_CheckComplexPat (#73310)

We record the usage of each `ComplexPat` and sort the `ComplexPat`s
by usage.

For the top 8 `ComplexPat`s, we will emit a `OPC_CheckComplexPatN`
to save one byte.

Overall this reduces the llc binary size with all in-tree targets by
about 89K.


  Commit: 5c8d1238382ce3ef6004d9cbe3fe67b8342d868c
      https://github.com/llvm/llvm-project/commit/5c8d1238382ce3ef6004d9cbe3fe67b8342d868c
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp

  Log Message:
  -----------
  [SelectionDAG] Add space-optimized forms of OPC_CheckPatternPredicate (#73319)


We record the usage of each `PatternPredicate` and sort them by
usage.

For the top 8 `PatternPredicate`s, we will emit a
`OPC_CheckPatternPredicateN` to save one byte.

The old `OPC_CheckPatternPredicate2` is renamed to
`OPC_CheckPatternPredicateTwoByte`.

Overall this reduces the llc binary size with all in-tree targets by
about 93K.


  Commit: 1a5792735aa0bb10e5624a438bcf7fd5091ee265
      https://github.com/llvm/llvm-project/commit/1a5792735aa0bb10e5624a438bcf7fd5091ee265
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/test/TableGen/address-space-patfrags.td
    M llvm/test/TableGen/predicate-patfags.td
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp

  Log Message:
  -----------
  [SelectionDAG] Add space-optimized forms of OPC_CheckPredicate (#73488)

We record the usage of each `Predicate` and sort them by usage.

For the top 8 `Predicate`s, we will emit a `PC_CheckPredicateN` to
save one byte.

Overall this reduces the llc binary size with all in-tree targets by
about 61K.


  Commit: 3643d11988d6b14171b4320cbdfb15aba9764d0b
      https://github.com/llvm/llvm-project/commit/3643d11988d6b14171b4320cbdfb15aba9764d0b
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
    M flang/test/HLFIR/order_assignments/user-defined-assignment.fir

  Log Message:
  -----------
  [flang][hlfir] Support box in user defined assignments (#77578)

When dealing with overlaps in user defined assignments, some entities
with descriptors (fir.box) may be saved without descriptors. The current
code was replacing the original box entity with the "raw" copy with a
simple cast instead of creating a box for the copy. This patch ensures a
fir.embox is emitted instead.


  Commit: e3993e044ec5925e59c131f798f823a9f16f0433
      https://github.com/llvm/llvm-project/commit/e3993e044ec5925e59c131f798f823a9f16f0433
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

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

  Log Message:
  -----------
  [clang][Interp] Implement __builtin_addressof (#77303)

We don't need to do anything here, since the input is already a Pointer.
The only complexity is that we pre-classify the parameters as PT_Ptr,
but they might end up being of a different pointer type, e.g. PT_FnPtr.


  Commit: 79889fedc57707e99740abc1f48e6c5601d5a3f3
      https://github.com/llvm/llvm-project/commit/79889fedc57707e99740abc1f48e6c5601d5a3f3
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M clang/lib/Basic/Targets/RISCV.cpp
    M lld/ELF/Arch/RISCV.cpp
    M llvm/include/llvm/Support/RISCVISAInfo.h
    M llvm/lib/Support/RISCVISAInfo.cpp
    M llvm/unittests/Support/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Deduplicate version struct in RISCVISAInfo. NFC (#77645)

We have two structs for representing the version of an extension in
RISCVISAInfo, RISCVExtensionInfo and RISCVExtensionVersion, both
with the exact same fields. This patch deduplicates them.


  Commit: 16945bc16dbb4c4acac854001b73e1454f3b601c
      https://github.com/llvm/llvm-project/commit/16945bc16dbb4c4acac854001b73e1454f3b601c
  Author: Diana Picus <Diana-Magda.Picus at amd.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
    M llvm/test/CodeGen/AMDGPU/release-vgprs.mir

  Log Message:
  -----------
  [AMDGPU] Don't send DEALLOC_VGPRs after calls (#77439)

Calls do not have to wait for VsCnt, so after they return there might
still be scratch stores in progress. It's important that we don't send
the DEALLOC_VGPR message in that case, since that might release the
VGPRs and scratch allocation before those stores are complete.


  Commit: c9c8f0c2fcf3b25ec310a75216f1d5b582ec343f
      https://github.com/llvm/llvm-project/commit/c9c8f0c2fcf3b25ec310a75216f1d5b582ec343f
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx12_err.s
    M llvm/test/MC/AMDGPU/gfx12_unsupported.s

  Log Message:
  -----------
  [AMDGPU] Update tests for GFX12 errors and unsupported instructions (#77624)


  Commit: 66eedd1dd370d22ddf994540c20848618d64d1a6
      https://github.com/llvm/llvm-project/commit/66eedd1dd370d22ddf994540c20848618d64d1a6
  Author: hanbeom <kese111 at gmail.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

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

  Log Message:
  -----------
  [InstCombine] Fix worklist management in select fold (#77738)

`InstCombine` uses `Worklist` to manage change history. `setOperand`,
which was previously used to change the `Select` Instruction, does not,
so it is `run` twice, which causes an `LLVM ERROR`.

This problem is resolved by changing `setOperand` to `replaceOperand` as
the change history will be registered in the Worklist.

Fixes #77553.


  Commit: 158d72d728261c1e54dc77931372b2322c52849f
      https://github.com/llvm/llvm-project/commit/158d72d728261c1e54dc77931372b2322c52849f
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/test/CodeGen/2006-05-19-SingleEltReturn.c
    M clang/test/CodeGen/64bit-swiftcall.c
    M clang/test/CodeGen/CSKY/csky-abi.c
    M clang/test/CodeGen/CSKY/csky-hard-abi.c
    M clang/test/CodeGen/CSKY/csky-soft-abi.c
    M clang/test/CodeGen/PowerPC/aix-alignment.c
    M clang/test/CodeGen/PowerPC/powerpc-c99complex.c
    M clang/test/CodeGen/PowerPC/ppc-aggregate-abi.cpp
    M clang/test/CodeGen/PowerPC/ppc32-and-aix-struct-return.c
    M clang/test/CodeGen/PowerPC/ppc64-align-struct.c
    M clang/test/CodeGen/PowerPC/ppc64-elf-abi.c
    M clang/test/CodeGen/PowerPC/ppc64-soft-float.c
    M clang/test/CodeGen/PowerPC/ppc64-vector.c
    M clang/test/CodeGen/PowerPC/ppc64le-aggregates.c
    M clang/test/CodeGen/PowerPC/ppc64le-f128Aggregates.c
    M clang/test/CodeGen/RISCV/bfloat-abi.c
    M clang/test/CodeGen/RISCV/riscv-abi.cpp
    M clang/test/CodeGen/RISCV/riscv32-abi.c
    M clang/test/CodeGen/RISCV/riscv64-abi.c
    M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
    M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
    M clang/test/CodeGen/SystemZ/systemz-abi.c
    M clang/test/CodeGen/SystemZ/systemz-abi.cpp
    M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
    M clang/test/CodeGen/WebAssembly/wasm-arguments.c
    M clang/test/CodeGen/WebAssembly/wasm-varargs.c
    M clang/test/CodeGen/X86/x86_32-arguments-darwin.c
    M clang/test/CodeGen/X86/x86_32-arguments-iamcu.c
    M clang/test/CodeGen/X86/x86_64-arguments-nacl.c
    M clang/test/CodeGen/X86/x86_64-arguments-win32.c
    M clang/test/CodeGen/X86/x86_64-arguments.c
    M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/aarch64-varargs.c
    M clang/test/CodeGen/aggregate-assign-call.c
    M clang/test/CodeGen/aligned-sret.c
    M clang/test/CodeGen/arc/arguments.c
    M clang/test/CodeGen/arm-aapcs-vfp.c
    M clang/test/CodeGen/arm-arguments.c
    M clang/test/CodeGen/arm-homogenous.c
    M clang/test/CodeGen/arm-neon-vld.c
    M clang/test/CodeGen/arm-swiftcall.c
    M clang/test/CodeGen/arm-varargs.c
    M clang/test/CodeGen/arm-vector-arguments.c
    M clang/test/CodeGen/arm-vfp16-arguments.c
    M clang/test/CodeGen/arm-vfp16-arguments2.cpp
    M clang/test/CodeGen/arm64-arguments.c
    M clang/test/CodeGen/arm64-microsoft-arguments.cpp
    M clang/test/CodeGen/arm64_32.c
    M clang/test/CodeGen/armv7k-abi.c
    M clang/test/CodeGen/attr-noundef.cpp
    M clang/test/CodeGen/blocks.c
    M clang/test/CodeGen/c11atomics-ios.c
    M clang/test/CodeGen/c11atomics.c
    M clang/test/CodeGen/ext-int-cc.c
    M clang/test/CodeGen/isfpclass.c
    M clang/test/CodeGen/lanai-arguments.c
    M clang/test/CodeGen/mcu-struct-return.c
    M clang/test/CodeGen/mingw-long-double.c
    M clang/test/CodeGen/mips-vector-return.c
    M clang/test/CodeGen/mips-zero-sized-struct.c
    M clang/test/CodeGen/mips64-nontrivial-return.cpp
    M clang/test/CodeGen/mips64-padding-arg.c
    M clang/test/CodeGen/ms_abi.c
    M clang/test/CodeGen/paren-list-agg-init.cpp
    M clang/test/CodeGen/regcall2.c
    M clang/test/CodeGen/regparm-struct.c
    M clang/test/CodeGen/renderscript.c
    M clang/test/CodeGen/sparcv9-abi.c
    M clang/test/CodeGen/sret.c
    M clang/test/CodeGen/vectorcall.c
    M clang/test/CodeGen/windows-struct-abi.c
    M clang/test/CodeGen/windows-swiftcall.c
    M clang/test/CodeGenCXX/aix-alignment.cpp
    M clang/test/CodeGenCXX/arm-cc.cpp
    M clang/test/CodeGenCXX/arm-swiftcall.cpp
    M clang/test/CodeGenCXX/attr-musttail.cpp
    M clang/test/CodeGenCXX/call-with-static-chain.cpp
    M clang/test/CodeGenCXX/conditional-gnu-ext.cpp
    M clang/test/CodeGenCXX/cxx1z-copy-omission.cpp
    M clang/test/CodeGenCXX/cxx1z-lambda-star-this.cpp
    M clang/test/CodeGenCXX/exceptions.cpp
    M clang/test/CodeGenCXX/homogeneous-aggregates.cpp
    M clang/test/CodeGenCXX/lambda-expressions.cpp
    M clang/test/CodeGenCXX/matrix-casts.cpp
    M clang/test/CodeGenCXX/matrix-type-builtins.cpp
    M clang/test/CodeGenCXX/matrix-type.cpp
    M clang/test/CodeGenCXX/microsoft-abi-byval-sret.cpp
    M clang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-cdecl-method-sret.cpp
    M clang/test/CodeGenCXX/microsoft-abi-eh-cleanups.cpp
    M clang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
    M clang/test/CodeGenCXX/microsoft-abi-unknown-arch.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vmemptr-conflicts.cpp
    M clang/test/CodeGenCXX/ms-thread_local.cpp
    M clang/test/CodeGenCXX/nrvo.cpp
    M clang/test/CodeGenCXX/pass-by-value-noalias.cpp
    M clang/test/CodeGenCXX/regcall.cpp
    M clang/test/CodeGenCXX/regcall4.cpp
    M clang/test/CodeGenCXX/stack-reuse-miscompile.cpp
    M clang/test/CodeGenCXX/stack-reuse.cpp
    M clang/test/CodeGenCXX/temporaries.cpp
    M clang/test/CodeGenCXX/thiscall-struct-return.cpp
    M clang/test/CodeGenCXX/thunk-returning-memptr.cpp
    M clang/test/CodeGenCXX/trivial_abi.cpp
    M clang/test/CodeGenCXX/unknown-anytype.cpp
    M clang/test/CodeGenCXX/wasm-args-returns.cpp
    M clang/test/CodeGenCXX/x86_32-arguments.cpp
    M clang/test/CodeGenCXX/x86_64-arguments.cpp
    M clang/test/CodeGenCoroutines/coro-await.cpp
    M clang/test/CodeGenCoroutines/coro-gro2.cpp
    M clang/test/CodeGenHLSL/sret_output.hlsl
    M clang/test/CodeGenObjC/arc.m
    M clang/test/CodeGenObjC/direct-method.m
    M clang/test/CodeGenObjC/nontrivial-c-struct-exception.m
    M clang/test/CodeGenObjC/objc-non-trivial-struct-nrvo.m
    M clang/test/CodeGenObjC/stret-1.m
    M clang/test/CodeGenObjC/stret_lookup.m
    M clang/test/CodeGenObjC/weak-in-c-struct.m
    M clang/test/CodeGenObjC/x86_64-struct-return-gc.m
    M clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
    M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
    M clang/test/CodeGenOpenCLCXX/addrspace-of-this.clcpp
    M clang/test/Modules/templates.mm
    M clang/test/OpenMP/irbuilder_for_iterator.cpp
    M clang/test/OpenMP/irbuilder_for_rangefor.cpp
    M clang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
    M clang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
    M clang/test/OpenMP/target_in_reduction_codegen.cpp
    M clang/test/OpenMP/task_in_reduction_codegen.cpp
    M clang/test/OpenMP/taskloop_in_reduction_codegen.cpp
    M clang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp

  Log Message:
  -----------
  [Clang] Set writable and dead_on_unwind attributes on sret arguments (#77116)

Set the writable and dead_on_unwind attributes for sret arguments. These
indicate that the argument points to writable memory (and it's legal to
introduce spurious writes to it on entry to the function) and that the
argument memory will not be used if the call unwinds.

This enables additional MemCpyOpt/DSE/LICM optimizations.


  Commit: d7642b2200bdd7dc12f5fe1a840e1fd43b1bbd73
      https://github.com/llvm/llvm-project/commit/d7642b2200bdd7dc12f5fe1a840e1fd43b1bbd73
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir

  Log Message:
  -----------
  [GlobalIsel] Combine select to integer minmax (second attempt). (#77520)

Instcombine canonicalizes selects to floating point and integer minmax.
This and the dag combiner canonicalize to floating point minmax. None of
them canonicalizes to integer minmax. On Neoverse V2 basic integer
arithmetic and integer minmax have the same costs.


  Commit: 9ef2ac3ad1bd5aa9e589f63047e8abeac11ad1b2
      https://github.com/llvm/llvm-project/commit/9ef2ac3ad1bd5aa9e589f63047e8abeac11ad1b2
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M clang-tools-extra/clangd/Selection.cpp
    M clang-tools-extra/clangd/unittests/SelectionTests.cpp
    M clang-tools-extra/clangd/unittests/tweaks/AddUsingTests.cpp

  Log Message:
  -----------
  [clangd] Handle lambda scopes inside Node::getDeclContext() (#76329)

We used to consider the `DeclContext` for selection nodes inside a
lambda as the enclosing scope of the lambda expression, rather than the
lambda itself.

For example,

```cpp
void foo();
auto lambda = [] {
  return ^foo();
};
```

where `N` is the selection node for the expression `foo()`,
`N.getDeclContext()` returns the `TranslationUnitDecl` previously, which
IMO is wrong, since the method `operator()` of the lambda is closer.

Incidentally, this fixes a glitch in add-using-declaration tweaks.
(Thanks @HighCommander4 for the test case.)


  Commit: ee431288a6639b3bdc07b819f5d584bfb39793ed
      https://github.com/llvm/llvm-project/commit/ee431288a6639b3bdc07b819f5d584bfb39793ed
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    A openmp/libomptarget/test/offloading/fortran/basic-target-parallel-region.f90

  Log Message:
  -----------
  [NFC][OpenMP][Flang] Add smoke test for omp target parallel (#77579)

Added test which proves that end-to-end compilation of omp target
parallel costruct is successful for Flang compiler.


  Commit: 33e5db6e045d3a82e29a7c6ebffe259dfafefb3d
      https://github.com/llvm/llvm-project/commit/33e5db6e045d3a82e29a7c6ebffe259dfafefb3d
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M clang/.clang-tidy
    M clang/www/c_dr_status.html
    M clang/www/c_status.html
    M clang/www/cxx_dr_status.html
    M clang/www/make_cxx_dr_status
    M llvm/cmake/modules/HandleLLVMOptions.cmake

  Log Message:
  -----------
  [clang] Improve colors in status tracking web pages.

Use a consistent, more pastel color for unknown status
in papers and issues tracking pages


  Commit: 9d97247e26eaca29bf27c842e08bd983a34fab93
      https://github.com/llvm/llvm-project/commit/9d97247e26eaca29bf27c842e08bd983a34fab93
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M clang/www/c_status.html

  Log Message:
  -----------
  [clang] Fix color consistency in C paper tracking web page


  Commit: e034f209f5f041888e649327f4b5aae5027dc14e
      https://github.com/llvm/llvm-project/commit/e034f209f5f041888e649327f4b5aae5027dc14e
  Author: Sjoerd Meijer <smeijer at nvidia.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp

  Log Message:
  -----------
  [AArch64LoadStoreOptimizer] Debug messages to track decision making. NFC (#77593)

With these debug message it's possible to see why some pairs get
rejected for combining.


  Commit: 7bf13fe81218b17d079cc5d61ced6b09077a913c
      https://github.com/llvm/llvm-project/commit/7bf13fe81218b17d079cc5d61ced6b09077a913c
  Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/abds.ll
    M llvm/test/CodeGen/X86/pr14088.ll

  Log Message:
  -----------
  [DAG] Fold (sext (sext_inreg x)) -> (sext (trunc x)) if the trunc is free (#77616)


  Commit: 75d820dcdd868b8ab6c12ff62f90216ad377ce20
      https://github.com/llvm/llvm-project/commit/75d820dcdd868b8ab6c12ff62f90216ad377ce20
  Author: Sjoerd Meijer <smeijer at nvidia.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/test/CodeGen/AArch64/arm64-ldp-cluster.ll
    M llvm/test/CodeGen/AArch64/machine-combiner-copy.ll

  Log Message:
  -----------
  [AArch64] MI Scheduler: create more LDP/STP pairs (#77565)

Target hook `canPairLdStOpc` is missing quite a few opcodes for which
LDPs/STPs can created. I was hoping that it would not be necessary to
add these missing opcodes here and that the attached motivating test
case would be handled by the LoadStoreOptimiser (especially after
#71908), but it's not. The problem is that after register allocation
some things are a lot harder to do. Consider this for the motivating
example

```
[1] renamable $q1 = LDURQi renamable $x9, -16 :: (load (s128) from %ir.r51, align 8, !tbaa !0)
[2] renamable $q2 = LDURQi renamable $x0, -16 :: (load (s128) from %ir.r53, align 8, !tbaa !4)
[3] renamable $q1 = nnan ninf nsz arcp contract afn reassoc nofpexcept FMLSv2f64 killed renamable $q1(tied-def 0), killed renamable $q2, renamable $q0, implicit $fpcr
[4] STURQi killed renamable $q1, renamable $x9, -16 :: (store (s128) into %ir.r51, align 1, !tbaa !0)
[5] renamable $q1 = LDRQui renamable $x9, 0 :: (load (s128) from %ir.r.G0001_609.0, align 8, !tbaa !0)
```
We can't combine the the load in line [5] into the load on [1]:
regisister q1 is used in between. And we can can't combine [1] into 
[5]: it is aliasing with the STR on line [4].

So, adding some missing opcodes here seems the best/easiest approach.
I will follow up to add some more missing cases here.


  Commit: 77f2ccbaac5e05e14827247ea8f6cc0f9d214390
      https://github.com/llvm/llvm-project/commit/77f2ccbaac5e05e14827247ea8f6cc0f9d214390
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/ADT/STLExtras.h

  Log Message:
  -----------
  [STLExtras] Add out-of-line definition of friend operator== for C++20 (#72348)

The last attempt at https://github.com/llvm/llvm-project/pull/72220 was
reverted by
https://github.com/llvm/llvm-project/commit/94d6699bf5eeb5aa4c50d1d90f8bf69b79201ceb
because it breaks C++20 build in clang-17 and before.

This is a workaround of
https://github.com/llvm/llvm-project/issues/70210 and unblocks
https://github.com/llvm/llvm-project/pull/72213 which rectifies
rewriting template operator and thus introduces new breakages.

Moving the function definition out of the class makes clang find a
matching `operator!=` for the `operator==`. This makes clang not rewrite
the `operator==` with reversed args. Hence, the ambiguity is resolved.

The final plan, when https://github.com/llvm/llvm-project/issues/70210
is fixed, is to move these back to inline definition or even convert to
a member template operator. This should not be urgent and could even
wait for a major clang release including
https://github.com/llvm/llvm-project/pull/72213


  Commit: 1ee93ac0991d5150ed5b21624e691da43b349612
      https://github.com/llvm/llvm-project/commit/1ee93ac0991d5150ed5b21624e691da43b349612
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M libc/fuzzing/string/CMakeLists.txt
    A libc/fuzzing/string/bcmp_fuzz.cpp
    A libc/fuzzing/string/memcmp_fuzz.cpp
    A utils/bazel/crash-f7dbdb2b330aad91f520099159e736e91bb9ddbf

  Log Message:
  -----------
  [libc] Add memcmp / bcmp fuzzers (#77741)


  Commit: 1de3f46938d70997cda5bcba17cbdbe166d4f269
      https://github.com/llvm/llvm-project/commit/1de3f46938d70997cda5bcba17cbdbe166d4f269
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/root-trunc-extract-reuse.ll

  Log Message:
  -----------
  Revert "[SLP]Do not require external uses for roots and single use for other instructions in computeMinimumValueSizes. (#72679)"

This reverts commit 408dce82016463dcb5026b2ddfc62174970a88e9.

This triggered failed asserts with code like this:

    char a[];
    short *b;
    int c, d, e, f;
    void g() {
      char *h;
      for (;;) {
        for (; f; ++f) {
          h[f] = b[0] * a[e] + b[c] * a[1] >> 7;
          ++b;
        }
        h += d;
      }
    }

Compiled like this:

    $ clang -target x86_64-linux-gnu -c repro.c -O2
    clang: ../lib/IR/Instructions.cpp:3335: static llvm::CastInst* llvm::CastInst::Create(llvm::Instruction::CastOps, llvm::Value*, llvm::Type*, const llvm::Twine&, llvm::Instruction*): Assertion `castIsValid(op, S, Ty) && "Invalid cast!"' failed.


  Commit: 4b0314d14f888cc1916556574ecaa35cc118ee00
      https://github.com/llvm/llvm-project/commit/4b0314d14f888cc1916556574ecaa35cc118ee00
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M clang/lib/AST/ASTImporter.cpp
    M clang/unittests/AST/ASTImporterTest.cpp

  Log Message:
  -----------
  [clang][ASTImporter] Improve import of friend class templates. (#74627)

A friend template that is in a dependent context is not linked into
declaration chains (for example with the definition of the befriended
template). This condition was not correctly handled by `ASTImporter`.


  Commit: a02c0d9450052b7f1bbff02eefb5344247759da9
      https://github.com/llvm/llvm-project/commit/a02c0d9450052b7f1bbff02eefb5344247759da9
  Author: avl-llvm <55248412+avl-llvm at users.noreply.github.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    A llvm/include/llvm/DWARFLinker/Utils.h
    M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
    M llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
    R llvm/lib/DWARFLinker/Parallel/Utils.h
    M llvm/lib/DWARFLinker/Utils.cpp

  Log Message:
  -----------
  [DWARFLinker][NFC] Move common code into the base library: Utils.h (#77604)

This patch is extracted from #74725.
Put some usefull routines into the common Utils.h.


  Commit: 21aacb0b4c8cf4deb6e3df3533bf365aa4fda125
      https://github.com/llvm/llvm-project/commit/21aacb0b4c8cf4deb6e3df3533bf365aa4fda125
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M mlir/docs/PassManagement.md
    M mlir/include/mlir/Transforms/GreedyPatternRewriteDriver.h

  Log Message:
  -----------
  [mlir] Improve `GreedyPatternRewriteDriver` and pass documentation (#77614)

Clarify what kind of IR modifications are allowed. Also improve the
documentation of the greedy rewrite driver entry points.

Addressing comments in #76219.


  Commit: dc974573a8a2364f24ce69c75ad80ab30753fe9a
      https://github.com/llvm/llvm-project/commit/dc974573a8a2364f24ce69c75ad80ab30753fe9a
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/fill-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-load-vertical.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-read-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-write-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transpose.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-ops.mlir

  Log Message:
  -----------
  [mlir][ArmSME][test] Make use of arm_sme.streaming_vl (NFC) (#77322)


  Commit: bd2a6efb305bfc2a4d9b368388da3d76d1b98b34
      https://github.com/llvm/llvm-project/commit/bd2a6efb305bfc2a4d9b368388da3d76d1b98b34
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/test/SemaCXX/conversion-function.cpp

  Log Message:
  -----------
  [clang]not lookup name containing a dependent type (#77587)

Fixes: #77583
bcd51aaaf8bde4b0ae7a4155d9ce3dec78fe2598 fixed part of template
instantiation dependent name issues but still missing some cases This
patch want to enhance the dependent name check


  Commit: 9ca6e5bb86963eed00108d7da57033691bc21dbc
      https://github.com/llvm/llvm-project/commit/9ca6e5bb86963eed00108d7da57033691bc21dbc
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M libc/src/string/memory_utils/op_x86.h
    M libc/test/src/string/memcmp_test.cpp

  Log Message:
  -----------
  [libc] Fix buggy AVX2 / AVX512 `memcmp` (#77081)

Fixes #77080.


  Commit: 19081f4a504053f551eb88bfa8a09a075c826e64
      https://github.com/llvm/llvm-project/commit/19081f4a504053f551eb88bfa8a09a075c826e64
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/test/Analysis/Inputs/system-header-simulator.h
    M clang/test/Analysis/stream-error.c

  Log Message:
  -----------
  [clang][analyzer] Support 'tello' and 'fseeko' in the StreamChecker (#77580)


  Commit: e4e0b6583861c111e485cf503940e7d5d8bc6d20
      https://github.com/llvm/llvm-project/commit/e4e0b6583861c111e485cf503940e7d5d8bc6d20
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    A llvm/test/CodeGen/X86/apx/compress-evex.mir

  Log Message:
  -----------
  [X86][test] Pre-commit test for #77731


  Commit: bbbe8ecc17797893fae6fc3a16425b6f26670423
      https://github.com/llvm/llvm-project/commit/bbbe8ecc17797893fae6fc3a16425b6f26670423
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
    M llvm/include/llvm/CodeGen/GlobalISel/Localizer.h
    M llvm/lib/CodeGen/GlobalISel/Localizer.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/invoke-region.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-hoisted-constants.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/localizer.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memmove.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll

  Log Message:
  -----------
  [GlobalISel][Localizer] Allow localization of a small number of repeated phi uses. (#77566)

We previously had a heuristic that if a value V was used multiple times
in a single PHI, then to avoid potentially rematerializing into many predecessors
we bail out. The phi uses only counted as a single use in the shouldLocalize() hook
because it counted the PHI as a single instruction use, not factoring in it may
have many incoming edges.

It turns out this heuristic is slightly too pessimistic, and allowing a small number
of these uses to be localized can improve code size due to shortening live ranges,
especially if those ranges span a call.

This change results in some improvements in size on CTMark -Os:
```
Program                                       size.__text
                                              before         after           diff
kimwitu++/kc                                  451676.00      451860.00       0.0%
mafft/pairlocalalign                          241460.00      241540.00       0.0%
tramp3d-v4/tramp3d-v4                         389216.00      389208.00      -0.0%
7zip/7zip-benchmark                           587528.00      587464.00      -0.0%
Bullet/bullet                                 457424.00      457348.00      -0.0%
consumer-typeset/consumer-typeset             405472.00      405376.00      -0.0%
SPASS/SPASS                                   410288.00      410120.00      -0.0%
lencod/lencod                                 426396.00      426108.00      -0.1%
ClamAV/clamscan                               380108.00      379756.00      -0.1%
sqlite3/sqlite3                               283664.00      283372.00      -0.1%
                           Geomean difference                               -0.0%
```
I experimented with different variations and thresholds. Using 3 instead
of 2 resulted in a further 0.1% improvement on ClamAV but also regressed
sqlite3 by the same %.


  Commit: bc98c3103a79f13df7df84d90b5212288f8f542a
      https://github.com/llvm/llvm-project/commit/bc98c3103a79f13df7df84d90b5212288f8f542a
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/test/TableGen/address-space-patfrags.td
    M llvm/test/TableGen/predicate-patfags.td
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp

  Log Message:
  -----------
  Revert "[SelectionDAG] Add space-optimized forms of OPC_CheckPredicate (#73488)"

This reverts commit 1a5792735aa0bb10e5624a438bcf7fd5091ee265.

Test address-space-patfrags.td.test is failing

https://lab.llvm.org/buildbot/#/builders/104/builds/15012


  Commit: cc53ec82ea6df6e7602510fa1bf5b8a991b3bc39
      https://github.com/llvm/llvm-project/commit/cc53ec82ea6df6e7602510fa1bf5b8a991b3bc39
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M flang/lib/Parser/CMakeLists.txt

  Log Message:
  -----------
  [Flang][Parser] Add missing dependencies to CMakeLists.txt (#77483)

Add FrontendOpenMP as an additional component library dependency.


  Commit: 959a430a8d5b7e77b3d88327f835d9f9b8a6842e
      https://github.com/llvm/llvm-project/commit/959a430a8d5b7e77b3d88327f835d9f9b8a6842e
  Author: Yi Wu <43659785+yi-wu-arm at users.noreply.github.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M flang/docs/Intrinsics.md
    M flang/include/flang/Runtime/extensions.h
    M flang/runtime/extensions.cpp
    M flang/unittests/Runtime/CommandTest.cpp

  Log Message:
  -----------
  [flang] FDATE extension implementation: get date and time in ctime format (#71222)

reference to gfortran fdate
https://gcc.gnu.org/onlinedocs/gfortran/FDATE.html
usage:
```fortran
CHARACTER(32) :: time
CALL fdate(time)
WRITE(*,*) time
```

fdate is used in the ECP proxy application
https://proxyapps.exascaleproject.org/app/minismac2d/

https://github.com/Mantevo/miniSMAC/blob/f90446714226eeef650b78bce06ca4967792e74d/ref/smac2d.f#L1570

`fdate` now produce the same result on flang, compare to gfortran, where
If the length is too short to fit completely, blank return.
```fortran
  character(20) :: string
  call fdate(string)
  write(*, *) string, "X"
```
```bash
$ ../build-release/bin/flang-new test.f90 
$ ./a.out 
                      X
```
If length if larger than it requires(24), fill the rest of buffer space.
```fortran
  character(30) :: string
  call fdate(string)
  write(*, *) string, "X"
```
```bash
$ ../build-release/bin/flang-new test.f90 
$ ./a.out 
 Wed Nov 15 16:59:13 2023      X
```
The length value is hardcoded, because:
```c++
  // Day Mon dd hh:mm:ss yyyy\n\0 is 26 characters, e.g.
  // Tue May 26 21:51:03 2015\n\0
```
---------

Co-authored-by: Yi Wu <yiwu02 at wdev-yiwu02.arm.com>


  Commit: 566124222e308bd0321c537c136705e1ebae7ba4
      https://github.com/llvm/llvm-project/commit/566124222e308bd0321c537c136705e1ebae7ba4
  Author: Dmitriy Smirnov <dmitriy.smirnov at arm.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir

  Log Message:
  -----------
  [TOSA] FFT2D operator (#77005)

This PR adds lowering for TOSA Fft2d operator down to Linalg.


  Commit: 5e406615fea185656786e8a5e72b6f12fd7706d5
      https://github.com/llvm/llvm-project/commit/5e406615fea185656786e8a5e72b6f12fd7706d5
  Author: goussepi <pierre.gousseau at sony.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_thread_arg_retval.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_thread_arg_retval.h
    M compiler-rt/test/sanitizer_common/TestCases/Linux/pthread_join.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/pthread_join_invalid.cpp

  Log Message:
  -----------
  [sanitizer] Fix asserts in asan and tsan in pthread interceptors. (#75394)

Calling one of pthread join/detach interceptor on an already
joined/detached thread causes asserts such as:

AddressSanitizer: CHECK failed: sanitizer_thread_arg_retval.cpp:56
"((t)) != (0)" (0x0, 0x0) (tid=1236094)
#0 0x555555634f8b in __asan::CheckUnwind()
compiler-rt/lib/asan/asan_rtl.cpp:69:3
#1 0x55555564e06e in __sanitizer::CheckFailed(char const*, int, char
const*, unsigned long long, unsigned long long)
compiler-rt/lib/sanitizer_common/sanitizer_termination.cpp:86:24
#2 0x5555556491df in __sanitizer::ThreadArgRetval::BeforeJoin(unsigned
long) const
compiler-rt/lib/sanitizer_common/sanitizer_thread_arg_retval.cpp:56:3
#3 0x5555556198ed in Join<___interceptor_pthread_tryjoin_np(void*,
void**)::<lambda()> >
compiler-rt/lib/asan/../sanitizer_common/sanitizer_thread_arg_retval.h:74:26
#4 0x5555556198ed in pthread_tryjoin_np
compiler-rt/lib/asan/asan_interceptors.cpp:311:29

The assert are replaced by error codes.


  Commit: b7770befee37feca3d732d6daf9513c62f75c5f0
      https://github.com/llvm/llvm-project/commit/b7770befee37feca3d732d6daf9513c62f75c5f0
  Author: r4nt <klimek at google.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/FormatTestMacroExpansion.cpp

  Log Message:
  -----------
  [ClangFormat] Fix formatting bugs. (#76245)

1. There are multiple calls to addFakeParenthesis; move the guard to not
   assign fake parenthesis into the function to make sure we cover all
   calls.
2. MustBreakBefore can be set on a token in two cases: either during
   unwrapped line parsing, or later, during token annotation. We must
   keep the latter, but reset the former.
3. Added a test to document that the intended behavior of preferring not
   to break between a return type and a function identifier.
   For example, with MOCK_METHOD(r, n, a)=r n a, the code
   MOCK_METHOD(void, f, (int a, int b)) should prefer the same breaks as
   the expanded void f(int a, int b).


  Commit: 40d5c2bcd41a534e6bab98fedf1a930d9bd165e7
      https://github.com/llvm/llvm-project/commit/40d5c2bcd41a534e6bab98fedf1a930d9bd165e7
  Author: John Brawn <john.brawn at arm.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/CodeGen/aarch64-branch-protection-attr.c
    M clang/test/CodeGen/aarch64-targetattr.c
    M clang/test/Driver/aarch64-security-options.c
    M clang/test/Preprocessor/aarch64-target-features.c
    M llvm/include/llvm/TargetParser/ARMTargetParserCommon.h
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/TargetParser/ARMTargetParserCommon.cpp
    A llvm/test/CodeGen/AArch64/note-gnu-property-gcs.ll

  Log Message:
  -----------
  [clang][AArch64] Add a -mbranch-protection option to enable GCS (#75486)

-mbranch-protection=gcs (enabled by -mbranch-protection=standard) causes
generated objects to be marked with the gcs feature. This is done via
the guarded-control-stack module flag, in a similar way to
branch-target-enforcement and sign-return-address.

Enabling GCS causes the GNU_PROPERTY_AARCH64_FEATURE_1_GCS bit to be set
on generated objects. No code generation changes are required, as GCS
just requires that functions are called using BL and returned from using
RET (or other similar variant instructions), which is already the case.


  Commit: b120dae9bb99b67d12c7b307debb222953473b7c
      https://github.com/llvm/llvm-project/commit/b120dae9bb99b67d12c7b307debb222953473b7c
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    A llvm/test/CodeGen/AMDGPU/lds-direct-hazards-gfx11.mir
    A llvm/test/CodeGen/AMDGPU/lds-direct-hazards-gfx12.mir
    R llvm/test/CodeGen/AMDGPU/lds-direct-hazards.mir

  Log Message:
  -----------
  [AMDGPU] Support GFX12 VDSDIR instructions WAITVMSRC operand in GCNHazardRecognizer (#77628)

Modify GCNHazardRecognizer::fixLdsDirectVMEMHazard() so the waitvsrc
operand
in gfx12 DS_PARAM_LOAD or DS_DIRECT_LOAD instructions is set
appropriately
depending on whether a hazard is found or not, rather than inserting an
S_WAITCNT_DEPCTR instruction if a hazard needs to be mitigated.

Co-authored-by: Stephen Thomas <Stephen.Thomas at amd.com>


  Commit: d553934770554e856ccad0f1a890d1c07d90644a
      https://github.com/llvm/llvm-project/commit/d553934770554e856ccad0f1a890d1c07d90644a
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

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

  Log Message:
  -----------
  [AArch64] Add missing field 'GuardedControlStack' initializer (NFC)

llvm-project/llvm/lib/TargetParser/ARMTargetParserCommon.cpp:143:39:
 error: missing field 'GuardedControlStack' initializer [-Werror,-Wmissing-field-initializers]
  PBP = {"none", "a_key", false, false};
                                      ^
1 error generated.


  Commit: 9edcf7a28eee1e3b2d22bd3aed9e405e17beacce
      https://github.com/llvm/llvm-project/commit/9edcf7a28eee1e3b2d22bd3aed9e405e17beacce
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M clang/docs/InternalsManual.rst
    M clang/include/clang/Driver/Options.td
    M flang/docs/FlangDriver.md
    M flang/test/Driver/compiler-options.f90
    M flang/test/Driver/ctofortran.f90
    M flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/driver-help.f90
    A flang/test/Driver/exec.f90
    M flang/test/Driver/falias-analysis.f90
    M flang/test/Driver/input-from-stdin/input-from-stdin.f90
    A flang/test/Driver/isysroot.f90
    M flang/test/Preprocessing/preprocessed-dirs.F90
    M flang/test/Semantics/OpenMP/use_device_addr.f90
    M flang/test/Semantics/OpenMP/use_device_ptr.f90
    M flang/test/lit.cfg.py

  Log Message:
  -----------
  [flang][driver] Add support for -isysroot in the frontend (#77365)

If DEFAULT_SYSROOT is not specfied when building flang, then the
-isysroot flag is needed to link binaries against system libraries
on Darwin. It's also needed when linking against a non-default
sysroot.


  Commit: f1c88d7c6f7698e4c51cb34754bb3177db9dc704
      https://github.com/llvm/llvm-project/commit/f1c88d7c6f7698e4c51cb34754bb3177db9dc704
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/test/Driver/fveclib.f90

  Log Message:
  -----------
  [flang] Fix fveclib on Darwin (#77605)

Fixes fveclib.f90 and fveclib-codegen.f90 tests, that were failing
on Darwin.


  Commit: b6f96776c5c30d0b39dcf5db9aa2f497bf99685e
      https://github.com/llvm/llvm-project/commit/b6f96776c5c30d0b39dcf5db9aa2f497bf99685e
  Author: John Brawn <john.brawn at arm.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:

  Log Message:
  -----------
  [clang][AArch64] Fix incorrect rebase (#77769)

When rebasing #75486 I missed adding an extra initializer value to
ParsedBranchProtection, so fix that.


  Commit: f892cc36fda6d25d4f7cbf68e95b17ba0af040b8
      https://github.com/llvm/llvm-project/commit/f892cc36fda6d25d4f7cbf68e95b17ba0af040b8
  Author: HaohaiWen <haohai.wen at intel.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/CodeGen/BranchFolding.cpp
    M llvm/test/CodeGen/X86/branchfolding-landingpad-cfg.mir
    A llvm/test/CodeGen/X86/windows-seh-EHa-PreserveCFG.ll

  Log Message:
  -----------
  [BranchFolding] Fix missing predecessors of landing-pad (#77608)

When removing an empty machine basic block, all of its successors should
be inherited by its fall through MBB. This keeps CFG as only have one
entry which is required by LiveDebugValues.

Reland #77441 as LiveDebugValues test.


  Commit: 52613396a6837e5c8b8334821022cad70fe8e917
      https://github.com/llvm/llvm-project/commit/52613396a6837e5c8b8334821022cad70fe8e917
  Author: HaohaiWen <haohai.wen at intel.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp

  Log Message:
  -----------
  [InstrRef] Add debug hint for not reachable blocks from entry (#77725)

Those not reachable blocks was not analyzed by LiveDebugValues and may
raise out of bound access to VarLocs as case in #77441.


  Commit: 18798cf972cd0669d3b4b84da18d467542588802
      https://github.com/llvm/llvm-project/commit/18798cf972cd0669d3b4b84da18d467542588802
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M openmp/libomptarget/DeviceRTL/include/Configuration.h
    M openmp/libomptarget/DeviceRTL/src/Configuration.cpp
    M openmp/libomptarget/DeviceRTL/src/Workshare.cpp

  Log Message:
  -----------
  [OpenMP] Add missing weak definitions of missing variables (#77767)

Variables `__omp_rtl_assume_teams_oversubscription` and
`__omp_rtl_assume_threads_oversubscription `are used by functions:
`__kmpc_distribute_static_loop`, `__kmpc_distribute_for_static_loop `and
`__kmpc_for_static_loop`.


  Commit: d1ecd12f00fbd7743ebb4fe36fc415eb80bbb1f4
      https://github.com/llvm/llvm-project/commit/d1ecd12f00fbd7743ebb4fe36fc415eb80bbb1f4
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    A llvm/test/Transforms/IndVarSimplify/preserve-nsw-during-expansion.ll

  Log Message:
  -----------
  [IndVars] Add additional test for preserving NSW.

Based on https://github.com/llvm/llvm-project/issues/71517.


  Commit: 21133f1da4cde22b63c5f62df25d97e51a3cf4ea
      https://github.com/llvm/llvm-project/commit/21133f1da4cde22b63c5f62df25d97e51a3cf4ea
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp

  Log Message:
  -----------
  [TOSA] Fix -Wdangling-gsl and -Wunused-variable in TosaToLinalg.cpp (NFC)

llvm-project/mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp:2376:9:
 error: object backing the pointer will be destroyed at the end of the full-expression [-Werror,-Wdangling-gsl]
        tensor::getMixedSizes(rewriter, loc, input_real);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

llvm-project/mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp:2366:10:
 error: unused variable 'imag_el_ty' [-Werror,-Wunused-variable]
    auto imag_el_ty = cast<FloatType>(
         ^
2 errors generated.


  Commit: 13b5882ee64b7aa6ee08900b7b2f0cc2cbc37f53
      https://github.com/llvm/llvm-project/commit/13b5882ee64b7aa6ee08900b7b2f0cc2cbc37f53
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    A llvm/test/CodeGen/PowerPC/pr77748.ll

  Log Message:
  -----------
  [PowerPC] Add test for #77748 (NFC)


  Commit: ef4a95c86210e11cf4bfbf545c2f859b5c772888
      https://github.com/llvm/llvm-project/commit/ef4a95c86210e11cf4bfbf545c2f859b5c772888
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/MC/AArch64/SVE/predicate-as-counter-aliases.s

  Log Message:
  -----------
  [AArch64] Enable certain instruction aliases for SVE/SME (#77745)

Several SVE instruction aliases accept predicate-as-counter register
names as a convenience. These ought to be enabled with SVE/SME because
the underlying encoding is valid and it's required by Arm ARM.


  Commit: dc717b19925c9e0a4fcca0ad277476400f62cc25
      https://github.com/llvm/llvm-project/commit/dc717b19925c9e0a4fcca0ad277476400f62cc25
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-multiuse-with-insertelement.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test for final vector with minbitwidth, NFC.


  Commit: 26a8664ed4573ef1559c4edc7b254a10d186d428
      https://github.com/llvm/llvm-project/commit/26a8664ed4573ef1559c4edc7b254a10d186d428
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    A llvm/test/ThinLTO/X86/memprof-tailcall-nonunique.ll
    A llvm/test/ThinLTO/X86/memprof-tailcall.ll
    A llvm/test/Transforms/MemProfContextDisambiguation/tailcall-nonunique.ll
    A llvm/test/Transforms/MemProfContextDisambiguation/tailcall.ll

  Log Message:
  -----------
  [MemProf] Handle missing tail call frames (#75823)

If tail call optimization was not disabled for the profiled binary, the
call contexts will be missing frames for tail calls. Handle this by
performing a limited search through tail call edges for the profiled
callee when a discontinuity is detected. The search depth is adjustable
but defaults to 5.

If we are able to identify a short sequence of tail calls, update the
graph for those calls. In the case of ThinLTO, synthesize the necessary
CallsiteInfos for carrying the cloning information to the backends.


  Commit: 18473eb108e29c7c9d9fcb5d0d8c271948aca330
      https://github.com/llvm/llvm-project/commit/18473eb108e29c7c9d9fcb5d0d8c271948aca330
  Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-multiuse-with-insertelement.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/root-trunc-extract-reuse.ll

  Log Message:
  -----------
  [SLP]Do not require external uses for roots and single use for other instructions in computeMinimumValueSizes. (#72679)

After changes, that does not require support from InstCombine, we can
drop some extra requirements for values-to-be-demoted. No need to check
for external uses for roots/other instructions, just check that the
  no non-vectorized insertelement instruction, which may require
  widening.

Review: https://github.com/llvm/llvm-project/pull/72679


  Commit: 731b29560d02f21210d2224226dd5378afa5090f
      https://github.com/llvm/llvm-project/commit/731b29560d02f21210d2224226dd5378afa5090f
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M flang/runtime/extensions.cpp
    M flang/unittests/Runtime/CommandTest.cpp

  Log Message:
  -----------
  [flang] Handle missing LOGIN_NAME_MAX definition in runtime (#77775)

18af032c0e16252effeb6dfd02113812388f1d31 broke the Solaris build:
```
/vol/llvm/src/llvm-project/dist/flang/runtime/extensions.cpp:60:24: error: use of undeclared identifier 'LOGIN_NAME_MAX'
   60 |   const int nameMaxLen{LOGIN_NAME_MAX + 1};
      |                        ^
/vol/llvm/src/llvm-project/dist/flang/runtime/extensions.cpp:61:12: warning: variable length arrays in C++ are a Clang extension [-Wvla-cxx-extension]
   61 |   char str[nameMaxLen];
      |            ^~~~~~~~~~
/vol/llvm/src/llvm-project/dist/flang/runtime/extensions.cpp:61:12: note: initializer of 'nameMaxLen' is unknown
/vol/llvm/src/llvm-project/dist/flang/runtime/extensions.cpp:60:13: note: declared here
   60 |   const int nameMaxLen{LOGIN_NAME_MAX + 1};
      |             ^
```
`flang/unittests/Runtime/CommandTest.cpp` has the same issue.

As documented in Solaris 11.4 `limits.h(3HEAD)`, `LOGIN_NAME_MAX` can be
undefined. To determine the value, `sysconf(3C)` needs to be used
instead.

Beside that portable method, Solaris also provides a non-standard
`LOGNAME_MAX` which could be used, but I've preferred the standard route
instead which would support other targets with the same issue.

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


  Commit: 3b3ee1f534242f06cdda276aacfa3328b7737326
      https://github.com/llvm/llvm-project/commit/3b3ee1f534242f06cdda276aacfa3328b7737326
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll

  Log Message:
  -----------
  [RISCV] Add test for strided gather with disjoint or. NFC


  Commit: 8f90e6937a1fac80873bb2dab5f382c82ba1ba4e
      https://github.com/llvm/llvm-project/commit/8f90e6937a1fac80873bb2dab5f382c82ba1ba4e
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml
    M libcxx/CMakeLists.txt
    M libcxx/cmake/caches/AArch64.cmake
    M libcxx/cmake/caches/AIX.cmake
    M libcxx/cmake/caches/AndroidNDK.cmake
    M libcxx/cmake/caches/Apple.cmake
    M libcxx/cmake/caches/Armv7Arm.cmake
    M libcxx/cmake/caches/Armv7M-picolibc.cmake
    M libcxx/cmake/caches/Armv7Thumb-no-exceptions.cmake
    M libcxx/cmake/caches/Armv8Arm.cmake
    M libcxx/cmake/caches/Armv8Thumb-no-exceptions.cmake
    M libcxx/cmake/caches/Generic-merged.cmake
    M libcxx/cmake/caches/Generic-msan.cmake
    M libcxx/cmake/caches/Generic-tsan.cmake
    M libcxx/cmake/caches/MinGW.cmake
    M libcxx/docs/BuildingLibcxx.rst
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/utils/ci/run-buildbot
    M libcxxabi/CMakeLists.txt

  Log Message:
  -----------
  [runtimes] Use LLVM libunwind from libc++abi by default (#77687)

I recently came across LIBCXXABI_USE_LLVM_UNWINDER and was surprised to
notice it was disabled by default. Since we build libunwind by default
and ship it in the LLVM toolchain, it would seem to make sense that
libc++ and libc++abi rely on libunwind for unwinding instead of using
the system-provided unwinding library (if any).

Most importantly, using the system unwinder implies that libc++abi is
ABI compatible with that system unwinder, which is not necessarily the
case. Hence, it makes a lot more sense to instead default to using the
known-to-be-compatible LLVM unwinder, and let vendors manually select a
different unwinder if desired.

As a follow-up change, we should probably apply the same default to
compiler-rt.

Differential Revision: https://reviews.llvm.org/D150897
Fixes #77662
rdar://120801778


  Commit: 5794854213375017f52914afbae09a12b9a33e06
      https://github.com/llvm/llvm-project/commit/5794854213375017f52914afbae09a12b9a33e06
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M libc/src/string/memory_utils/op_x86.h

  Log Message:
  -----------
  [libc][NFC] Use 16-byte indices for _mmXXX_shuffle_epi8 (#77781)

This is less confusing since the implementation only cares about the 4
lower bits.


  Commit: b6fc463d4c0b00e0741776f9d41b47f532a80b9e
      https://github.com/llvm/llvm-project/commit/b6fc463d4c0b00e0741776f9d41b47f532a80b9e
  Author: HaohaiWen <haohai.wen at intel.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/windows-seh-EHa-PreserveCFG.ll

  Log Message:
  -----------
  [SEH] Redirect test output to /dev/null (#77784)


  Commit: c37699b9e358552550b18d1e627af62a7159f5f3
      https://github.com/llvm/llvm-project/commit/c37699b9e358552550b18d1e627af62a7159f5f3
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp

  Log Message:
  -----------
  [MemProf] Add missing <unordered_map> include to fix buildbot (#77788)

Should fix buildbot failure
https://lab.llvm.org/buildbot/#/builders/54/builds/8451
from #75823.


  Commit: 31ce0f1dda3caed829db09b9212eac54a8a28572
      https://github.com/llvm/llvm-project/commit/31ce0f1dda3caed829db09b9212eac54a8a28572
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M flang/test/Driver/exec.f90

  Log Message:
  -----------
  [flang][driver] Fix exec.f90 test with shared libs


  Commit: fc6faa1113e9069f41b5500db051210af0eea843
      https://github.com/llvm/llvm-project/commit/fc6faa1113e9069f41b5500db051210af0eea843
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M clang/test/CodeGen/debug-info-codeview-unnamed.c
    M clang/test/CodeGen/debug-info-unused-types.c
    M clang/test/CodeGen/debug-info-unused-types.cpp
    M clang/test/CodeGenCXX/debug-info-access.cpp
    M clang/test/CodeGenCXX/debug-info-anon-union-vars.cpp
    M clang/test/CodeGenCXX/debug-info-codeview-unnamed.cpp
    M clang/test/CodeGenCXX/debug-info-gline-tables-only-codeview.cpp
    M clang/test/CodeGenCXX/debug-lambda-this.cpp
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/include/llvm/IR/DebugInfo.h
    M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    A llvm/test/Bitcode/clone-local-types.ll
    M llvm/test/Bitcode/upgrade-cu-locals.ll
    M llvm/test/Bitcode/upgrade-cu-locals.ll.bc
    A llvm/test/DebugInfo/Generic/inlined-local-type.ll
    A llvm/test/DebugInfo/Generic/lexical-block-retained-types.ll
    A llvm/test/DebugInfo/Generic/lexical-block-types.ll
    R llvm/test/DebugInfo/Generic/split-dwarf-local-import.ll
    R llvm/test/DebugInfo/Generic/split-dwarf-local-import2.ll
    R llvm/test/DebugInfo/Generic/split-dwarf-local-import3.ll
    M llvm/test/DebugInfo/Generic/verifier-invalid-disubprogram.ll
    A llvm/test/DebugInfo/X86/local-type-as-template-parameter.ll
    M llvm/test/DebugInfo/X86/set.ll
    A llvm/test/DebugInfo/X86/split-dwarf-local-import.ll
    A llvm/test/DebugInfo/X86/split-dwarf-local-import2.ll
    A llvm/test/DebugInfo/X86/split-dwarf-local-import3.ll
    M llvm/unittests/Transforms/Utils/CloningTest.cpp

  Log Message:
  -----------
  [CloneFunction][DebugInfo] Avoid cloning DILocalVariables of inlined functions (#75385)

- [DebugMetadata][DwarfDebug] Support function-local types in lexical
block scopes (4/7)
- [CloneFunction][DebugInfo] Avoid cloning DILocalVariables of inlined
functions

This is a follow-up for https://reviews.llvm.org/D144006, fixing a crash
reported
in Chromium (https://reviews.llvm.org/D144006#4651955).

The first commit is added for convenience, as it has already been
accepted.

If DISubpogram was not cloned (e.g. we are cloning a function that has
other
functions inlined into it, and subprograms of the inlined functions are
not supposed to be cloned), it doesn't make sense to clone its
DILocalVariables as well.
Otherwise get duplicated DILocalVariables not tracked in their
subprogram's retainedNodes, that crash LTO with Chromium.

This is meant to be committed along with
https://reviews.llvm.org/D144006.


  Commit: 3867e6689eb742b1f64be7af9e31cc3183aa46fd
      https://github.com/llvm/llvm-project/commit/3867e6689eb742b1f64be7af9e31cc3183aa46fd
  Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.atomic.flt.ll
    M llvm/test/MC/AMDGPU/gfx12_asm_vimage.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vimage_alias.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage.txt

  Log Message:
  -----------
  [AMDGPU] Add new GFX12 image atomic float instructions (#76946)


  Commit: 90eb4e24551c44bee3b9c0ca33fcb6dbb7c381fe
      https://github.com/llvm/llvm-project/commit/90eb4e24551c44bee3b9c0ca33fcb6dbb7c381fe
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/test/MC/AArch64/SVE/pfalse-diagnostics.s

  Log Message:
  -----------
  [AArch64] Fix missing `pfalse` diagnostic (#77746)

The missing diagnostic causes an ICE when a suffix other than `.B`
is used in a `pfalse` instruction with a predicate-as-counter operand.


  Commit: 3b3da7c7fbc008fb23dd3365033e62d6d5deeb35
      https://github.com/llvm/llvm-project/commit/3b3da7c7fbc008fb23dd3365033e62d6d5deeb35
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/vec15-base.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/vec3-calls.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll

  Log Message:
  -----------
  [SLP] Add a set of tests with non-power-of-2 operations.


  Commit: d21fb06a6e36048e6729c51c351ff8c4055e8381
      https://github.com/llvm/llvm-project/commit/d21fb06a6e36048e6729c51c351ff8c4055e8381
  Author: Eleanor Bonnici <eleanor.bonnici at arm.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M lld/ELF/Relocations.cpp
    M lld/test/ELF/arm-adr.s

  Log Message:
  -----------
  [lld][ELF] Allow Arm PC-relative relocations in PIC links (#77304)

The relocations that map to R_ARM_PCA are equivalent to R_PC. They are
PC-relative and safe to use in shared libraries, but have a different
relocation code as they are evaluated differently. Now that LLVM may
generate these relocations in object files, they may occur in
shared libraries or position-independent executables.


  Commit: 923f0392bf050e2e17caa93778e90cf429905694
      https://github.com/llvm/llvm-project/commit/923f0392bf050e2e17caa93778e90cf429905694
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/test/ParserOpenACC/parse-clauses.c

  Log Message:
  -----------
  [OpenACC] Implement 'copy' Clause

The copy clause takes a var-list, similar to cache.  This patch
implements the parsing in terms of how we did cache, and does some
infrastructure for future clause parsing.

As a part of this, many functions needed to become members of Parser,
which I anticipated needing to happen in the future anyway.


  Commit: 114e6d7ba02f090117f2cb1ffeb9027cf80f335b
      https://github.com/llvm/llvm-project/commit/114e6d7ba02f090117f2cb1ffeb9027cf80f335b
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll

  Log Message:
  -----------
  [RISCV] Add test for strided gather with recursive disjoint or. NFC

This already gets converted to a strided intrinsic because we currently call
haveNoCommonBitsSet when checking or instructions, but an upcoming patch will
change this logic and we want to preserve this case.

Note that this IR is in the form that comes from instcombine. The splats need
to be inline constexprs, otherwise isSplatValue() will fail. (It can't
currently handle splats where the shufflevector is an instruction, and the
insertelement is a constexpr.


  Commit: 3ede817f5bd947cb0da63187f333a6274bf1f418
      https://github.com/llvm/llvm-project/commit/3ede817f5bd947cb0da63187f333a6274bf1f418
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp

  Log Message:
  -----------
  [Libomptarget] Fix JIT on the NVPTX target by calling ptx manually (#77801)

Summary:
Recently a patch added an assertion in the GlobalHandler to indicate
when an ELF was not used. This began to fire whenever NVPTX JIT was
used, because the JIT pass output a PTX file instead of an ELF. The
CUModuleLoad method consumes `.s` internally and compiles it to a cubin,
however, this is too late as we perform several checks on the ELF
directly for the presence of certain symbols and to read some necessary
constants. This results in inconsistent behaviour.

To address this, this patch simply calls `ptxas` manually, similar to
how `lld` is called for the AMDGPU JIT pass. This is inevitably going to
be slower than simply passing it to the CUDA routine due to the overhead
involved in file IO and a fork call, but it's necessary for correctness.

CUDA provides an API for compiling PTX manually. However, this only
started showing up in CUDA 11.1 and is only provided "officially" in a
static library. The `libnvidia-ptxjitcompiler.so` next to the CUDA
driver has the same symbols and can likely be used as a replacement.
This would be the faster solution. However, given that it's not
documented it may have some issues.


  Commit: dd5ce4572fb90323799f1bdf585c01d08613e277
      https://github.com/llvm/llvm-project/commit/dd5ce4572fb90323799f1bdf585c01d08613e277
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/test/ParserOpenACC/parse-clauses.c

  Log Message:
  -----------
  [OpenACC] Implement 'use_device' clause parsing

'use_device' is effectively identical to the 'copy' parsing in that it
has required parens and no 'special' name, so this is a pretty trivial
impementation.  There are a number of other similar situation clauses
I'll do in a followup patch.


  Commit: 4278d9b593d31a644e4be3bb9386e2c0ed6ac6f1
      https://github.com/llvm/llvm-project/commit/4278d9b593d31a644e4be3bb9386e2c0ed6ac6f1
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
    M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv.mlir

  Log Message:
  -----------
  [mlir][spirv] Lower `arith` overflow flags to corresponding SPIR-V op decorations (#77714)


  Commit: ee457102585e99ac7c832926aa5be8d12025d466
      https://github.com/llvm/llvm-project/commit/ee457102585e99ac7c832926aa5be8d12025d466
  Author: dancing-leaves <dancing-leaves at users.noreply.github.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M lldb/source/Target/TargetProperties.td

  Log Message:
  -----------
  [lldb] Fix MaxSummaryLength target property type (#72233)

There seems to be a regression since
https://github.com/llvm/llvm-project/commit/6f8b33f6dfd0a0f8d2522b6c832bd6298ae2f3f3.
`Max String Summary Length` target property is not read properly and the
default value (1024) is being used instead.

16.0.6:
```
(lldb) settings set target.max-string-summary-length 16
(lldb) var
(std::string) longStdString = "0123456789101112131415161718192021222324252627282930313233343536"
(const char *) longCharPointer = 0x000055555556f310 "0123456789101112131415161718192021222324252627282930313233343536"
```

17.0.4:
```
(lldb) settings set target.max-string-summary-length 16
(lldb) var
(std::string) longStdString = "0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377"...
(const char *) longCharPointer = 0x000055555556f310 "*same as line above*"...
```

Comparison fails here:

https://github.com/llvm/llvm-project/blob/9cb1673fa5d267148ac81ee31b37f1d2f7c0f2b8/lldb/source/Interpreter/OptionValue.cpp#L256

Due to the type difference:

https://github.com/llvm/llvm-project/blob/9cb1673fa5d267148ac81ee31b37f1d2f7c0f2b8/lldb/source/Target/Target.cpp#L4611

https://github.com/llvm/llvm-project/blob/9cb1673fa5d267148ac81ee31b37f1d2f7c0f2b8/lldb/source/Target/TargetProperties.td#L98


  Commit: f5dd70c58277d925710e5a7c25c86d7565cc3c6c
      https://github.com/llvm/llvm-project/commit/f5dd70c58277d925710e5a7c25c86d7565cc3c6c
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/test/Transforms/LoopStrengthReduce/lsr-term-fold.ll

  Log Message:
  -----------
  [LSR] Require non-zero step when considering wrap around for term folding (#77809)

The term folding logic needs to prove that the induction variable does
not cycle through the same set of values so that testing for the value
of the IV on the exiting iteration is guaranteed to trigger only on that
iteration. The prior code checked the no-self-wrap property on the IV,
but this is insufficient as a zero step is trivially no-self-wrap per
SCEV's definition but does repeat the same series of values.

In the current form, this has the effect of basically disabling lsr's
term-folding for all non-constant strides. This is still a net
improvement as we've disabled term-folding entirely, so being able to
enable it for constant strides is still a net improvement.

As future work, there's two SCEV weakness worth investigating.

First sext (or i32 %a, 1) to i64 does not return true for
isKnownNonZero. This is because we check only the unsigned range in that
query. We could either do query pushdown, or check the signed range as
well. I tried the second locally and it has very broad impact - i.e. we
have a bunch of missing optimizations here.

Second, zext (or i32 %a, 1) to i64 as the increment to the IV in
expensive_expand_short_tc causes the addrec to no longer be provably
no-self-wrap. I didn't investigate this so it might be necessary, but
the loop structure is such that I find this result surprising.


  Commit: c2fd5b738e9700a515f1730c714897eeec064157
      https://github.com/llvm/llvm-project/commit/c2fd5b738e9700a515f1730c714897eeec064157
  Author: Chris Bieneman <chris.bieneman at me.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M clang/docs/HLSL/FunctionCalls.rst

  Log Message:
  -----------
  [NFC] Remove trailing whitespace

This seems to be causing problems that I couldn't reproduce locally.


  Commit: 21e1bf2d00018cf35842e63e9c434a9507f73e6f
      https://github.com/llvm/llvm-project/commit/21e1bf2d00018cf35842e63e9c434a9507f73e6f
  Author: Mats Petersson <mats.petersson at arm.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/ArmSME/enable-arm-za.mlir
    M mlir/test/Target/LLVMIR/Import/function-attributes.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  Add more ZA modes (#77361)

Add more ZA modes
    
 Adds the arm_shared_za and arm_preserves_za attributes to the existing
 arm_new_za attribute. The functionality already exists in LLVM, so just
 "linking the pieces together".
    
For more details see:
https://arm-software.github.io/acle/main/acle.html#sme-attributes-relating-to-za


  Commit: 061b777c82c9ff4d0fe92d578d4e0cdf6057c958
      https://github.com/llvm/llvm-project/commit/061b777c82c9ff4d0fe92d578d4e0cdf6057c958
  Author: Felix Schneider <fx.schn at gmail.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
    M mlir/test/Dialect/Affine/constant-fold.mlir

  Log Message:
  -----------
  [mlir][affine] Add dependency on `UBDialect` for `PoisonAttr` (#77691)

The folder for `AffineApplyOp` will try creating a `PoisonAttr`
under certain circumstances. However, this will result in a crash if the
`UBDialect` isn't loaded.

This patch adds a dependency of `AffineDialect` on `UBDialect`.


  Commit: 4619e21c72879591fbb5c8a1b1b5effe70b0a57e
      https://github.com/llvm/llvm-project/commit/4619e21c72879591fbb5c8a1b1b5effe70b0a57e
  Author: Felix Schneider <fx.schn at gmail.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/MemRef/invalid.mlir
    M mlir/test/Dialect/MemRef/ops.mlir

  Log Message:
  -----------
  [mlir][memref] Transpose: allow affine map layouts in result, extend folder (#76294)

Currently, the `memref.transpose` verifier forces the result type of the
Op to have an explicit `StridedLayoutAttr` via the method
`inferTransposeResultType`. This means that the example Op
given in the documentation is actually invalid because it uses an `AffineMap`
to specify the layout.
It also means that we can't "un-transpose" a transposed memref back to
the implicit layout form, because the verifier will always enforce the
explicit strided layout.

This patch makes the following changes:

1. The verifier checks whether the canonicalized strided layout of the
result Type is identitcal to the canonicalized infered result type
layout. This way, it's only important that the two Types have the same
strided layout, not necessarily the same representation of it.
2. The folder is extended to support folding away the trivial case of
identity permutation and to fold one transposition into another by
composing the permutation maps.


  Commit: c3e3aa9c33f0cda5759340bfc61452548e459806
      https://github.com/llvm/llvm-project/commit/c3e3aa9c33f0cda5759340bfc61452548e459806
  Author: Usman Nadeem <mnadeem at quicinc.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    A llvm/test/CodeGen/AArch64/sve2-xar.ll

  Log Message:
  -----------
  [AArch64][SVE2] Generate XAR (#77160)

Bitwise exclusive OR and rotate right by immediate

Select xar (x, y, imm) for the following pattern:
    or (shl (xor x, y), nBits-imm), (shr (xor x, y), imm)

This is essentially:
    rotr (xor(x, y), imm)


  Commit: 2bb511e277e501d3faa0f2da0d1c98ea0b515507
      https://github.com/llvm/llvm-project/commit/2bb511e277e501d3faa0f2da0d1c98ea0b515507
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/X86/bolt-address-translation.test

  Log Message:
  -----------
  [BOLT][NFC] Print BAT section size (#76897)

Test Plan: Updated bolt/test/X86/bolt-address-translation.test


  Commit: 0cc31579e0b690e974163da4077a40b49bfc1ebc
      https://github.com/llvm/llvm-project/commit/0cc31579e0b690e974163da4077a40b49bfc1ebc
  Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] TableGen keywords support. (#77477)

Add TableGen keywords to the additional keyword list of the formatter.

This pull request is the splited part from
https://github.com/llvm/llvm-project/pull/76059 .


  Commit: 18734f606635f4f4270f911b68060890ce3dd94a
      https://github.com/llvm/llvm-project/commit/18734f606635f4f4270f911b68060890ce3dd94a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M flang/runtime/extensions.cpp

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

This patch fixes:

  flang/runtime/extensions.cpp:111:12: error: variable length arrays
  are a C99 feature [-Werror,-Wvla-extension]


  Commit: cf3421de587d7c947e8f6b5c754393f85a395747
      https://github.com/llvm/llvm-project/commit/cf3421de587d7c947e8f6b5c754393f85a395747
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

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

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

This patch fixes:

  clang/unittests/Format/TokenAnnotatorTest.cpp:2181:29: error: lambda
  capture 'Style' is not used [-Werror,-Wunused-lambda-capture]


  Commit: fb09447132cb192a0ef5082d4a4bae30f893e501
      https://github.com/llvm/llvm-project/commit/fb09447132cb192a0ef5082d4a4bae30f893e501
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M flang/unittests/Runtime/CommandTest.cpp

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

This patch fixes:

  flang/unittests/Runtime/CommandTest.cpp:702:14: error: variable
  length arrays are a C99 feature [-Werror,-Wvla-extension]


  Commit: a7cf0a1f7fc8646bbb74314cd28cbd1a518546a4
      https://github.com/llvm/llvm-project/commit/a7cf0a1f7fc8646bbb74314cd28cbd1a518546a4
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    A bolt/docs/BAT.md

  Log Message:
  -----------
  [BOLT] Add BOLT Address Translation documentation (#76899)

Test Plan: Open the page in browser


  Commit: 565f40d66b8dff1dfd1e30171ca8f51dc37eb27f
      https://github.com/llvm/llvm-project/commit/565f40d66b8dff1dfd1e30171ca8f51dc37eb27f
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M bolt/docs/BAT.md
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/test/X86/bolt-address-translation.test

  Log Message:
  -----------
  [BOLT] Encode BAT using ULEB128 (#76899)

Reduces BAT section size, bytes:
- large binary: 38676872 -> 23262524 (0.60x),
- medium binary (trunk clang): 5938004 -> 3213504 (0.54x),
- small binary (X86/bolt-address-translation.test): 1436 -> 680 (0.47x).

Test Plan: Updated bolt/test/X86/bolt-address-translation.test


  Commit: 3e82663b05cb4d90ded9b8c0b47b2217789b15ee
      https://github.com/llvm/llvm-project/commit/3e82663b05cb4d90ded9b8c0b47b2217789b15ee
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp

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

This patch fixes:

  mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp:3154:8: error: unused
  variable 'rank' [-Werror,-Wunused-variable]


  Commit: e7f794875169811f3801fad6d40bb9fe833e1a69
      https://github.com/llvm/llvm-project/commit/e7f794875169811f3801fad6d40bb9fe833e1a69
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M compiler-rt/test/asan/TestCases/alloca_vla_interact.cpp
    M compiler-rt/test/asan/TestCases/scariness_score_test.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/test/Instrumentation/AddressSanitizer/asan-stack-safety.ll
    M llvm/test/Instrumentation/AddressSanitizer/debug_info.ll
    M llvm/test/Instrumentation/AddressSanitizer/lifetime-uar-uas.ll
    M llvm/test/Instrumentation/AddressSanitizer/lifetime.ll
    M llvm/test/Instrumentation/AddressSanitizer/local_stack_base.ll
    M llvm/test/Instrumentation/AddressSanitizer/stack_dynamic_alloca.ll
    M llvm/test/Instrumentation/AddressSanitizer/stack_layout.ll

  Log Message:
  -----------
  Revert "[asan] Enable StackSafetyAnalysis by default"

This reverts commit 51fbab134560ece663517bf1e8c2a30300d08f1a.
This causes the compiler to crash. Will file a issue to track the status.


  Commit: 75efddba0f507282df479a6e296d67fd88aed489
      https://github.com/llvm/llvm-project/commit/75efddba0f507282df479a6e296d67fd88aed489
  Author: Tacet <advenam.tacet at trailofbits.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M libcxx/include/string

  Log Message:
  -----------
  [ASan][libc++] Initialize `__r_` variable with lambda (#77394)

This commit is a refactor (increases readability) and optimization fix.

This is a fixed commit of
https://github.com/llvm/llvm-project/pull/76200 First reverthed here:
https://github.com/llvm/llvm-project/commit/1ea7a56057492d9da1124787a9855cc2edca7df9

Please, check original PR for details.

The difference is a return type of the lambda.

Original description:

This commit addresses optimization and instrumentation challenges
encountered within comma constructors.
1) _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS does not work in comma
constructors.
2) Code inside comma constructors is not always correctly optimized.
Problematic code examples:
- `: __r_(((__str.__is_long() ? 0 : (__str.__annotate_delete(), 0)),
std::move(__str.__r_))) {`
- `: __r_(__r_([&](){ if(!__s.__is_long()) __s.__annotate_delete();
return std::move(__s.__r_);}())) {`

However, lambda with argument seems to be correctly optimized. This
patch uses that fact.

Use of lambda based on idea from @ldionne.


  Commit: 37c1a5e3f56a287703426da6c2c8cb998e28ca7c
      https://github.com/llvm/llvm-project/commit/37c1a5e3f56a287703426da6c2c8cb998e28ca7c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp

  Log Message:
  -----------
  [Libomptarget] Fix GPU Dtors referencing possibly deallocated image (#77828)

Summary:
The constructors and destructors look up a symbol in the ELF quickly to
determine if they need to be run on the GPU. This allows us to avoid the
very slow actions required to do the slower lookup using the vendor API.

One problem occurs with how we handle the lifetime of these images.
Right now there is no invariant to specify the lifetime of the
underlying binary image that is loaded. In the typical case, this comes
from the binary itself in the `.llvm.offloading` section, meaning that
the lifetime of the binary should match the executable itself. This
would work fine, if it weren't for the fact that the plugin is loaded
via `dlopen` and can have a teardown order out of sync with the main
executable.

This was likely what was occuring when this failed on some systems but
not others. A potential solution would be to simply copy images into
memory so the runtime does not rely on external references. Another
would be to manually zero these out after initialization as to prevent
this mistake from happening accidentally. The former has the benefit of
making some checks easier, and allowing for constant initialization be
done on the ELF itself (normally we can't do this because writing to a
constant section, e.g. .llvm.offloading is a segfault.). The downside
would be the extra time required to copy the image in bulk (Although we
are likely doing this in the vendor runtimes as well).

This patch went with a quick solution to simply set a boolean value at
initialization time if we need to call destructors.

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


  Commit: 40f5f90507725c1f93779c0e6e8d5a13854b4a3f
      https://github.com/llvm/llvm-project/commit/40f5f90507725c1f93779c0e6e8d5a13854b4a3f
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M flang/test/Lower/OpenACC/acc-kernels-loop.f90
    M flang/test/Lower/OpenACC/acc-loop.f90
    M flang/test/Lower/OpenACC/acc-parallel-loop.f90
    M flang/test/Lower/OpenACC/acc-serial-loop.f90
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/test/Dialect/OpenACC/ops.mlir

  Log Message:
  -----------
  [mlir][openacc][flang] Simplify gang, vector and worker representation (#77667)

The IR representation for gang, vector and worker has grown with the
support for device_type. This patch simplify the IR representation for
gang, vector and worker information on the acc.loop operation.

When the only the keyword is present without any values, the information
is printed at the same place than when there is values. The device_type
is omitted if there is no values and it is equal to None. Otherwise the
full information is displayed. First the keyword only device_type
information and then the values with their device_type.


  Commit: d447304768221b2ebd2dcf60b37c93fbf29d9129
      https://github.com/llvm/llvm-project/commit/d447304768221b2ebd2dcf60b37c93fbf29d9129
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M flang/lib/Parser/CMakeLists.txt

  Log Message:
  -----------
  Revert "[Flang][Parser] Add missing dependencies to CMakeLists.txt (#77483)"

This reverts commit cc53ec82ea6df6e7602510fa1bf5b8a991b3bc39.

This commit hasn't accomplished anything. The original issue was that
`DumpTree`, when called from lowering, caused linker errors due to some
directive-naming functions being absent. Adding FrontendOpenMP to the
parser library didn't fix that problem, and according to the notes in
PR #77483, calling `DumpTree` from lowering isn't really supported.


  Commit: bdfe5d69dee7baa0a54cddca8a99e0fdaeded4a2
      https://github.com/llvm/llvm-project/commit/bdfe5d69dee7baa0a54cddca8a99e0fdaeded4a2
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M flang/lib/Semantics/check-acc-structure.cpp
    M flang/lib/Semantics/check-directive-structure.h
    M flang/test/Semantics/OpenACC/acc-routine.f90

  Log Message:
  -----------
  [flang][openacc] Apply mutually exclusive clauses restriction to routine (#77802)

this patch enforce or fix the enforcement of two restrictions from
section 2.15.1:

> Only the gang, worker, vector, seq and bind clauses may follow a
device_type clause.

`seq` was not allowed after `device_type` with the current
implementation.

> Exactly one of the gang, worker, vector, or seq clauses must appear.

This was not properly checked. This patch check correctly for mutually
exclusion as described in section 2.4. Mutually exclusive clauses may
appear on the same directive if they apply for different device_type.


  Commit: 5ce067d592b78fd3142364e06bae4da2a3a1e944
      https://github.com/llvm/llvm-project/commit/5ce067d592b78fd3142364e06bae4da2a3a1e944
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/CodeGen/RISCV/branch-on-zero.ll
    M llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-cost-compare.ll

  Log Message:
  -----------
  Revert "[LSR][TTI][RISCV] Disable terminator folding for RISC-V."

This reverts commit fdb87640ee2be63af9b0e0cd943cb13d79686a03, and thus
re-enables terminator folding for RISCV.  The reported miscompile has
been fixed in f5dd70c58277d925710e5a7c25c86d7565cc3c6c.


  Commit: 69bc30b91e41d3ba12e0244251abeff03555e87b
      https://github.com/llvm/llvm-project/commit/69bc30b91e41d3ba12e0244251abeff03555e87b
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M clang/cmake/caches/Fuchsia.cmake

  Log Message:
  -----------
  [Fuchsia] Add stage2 cmake options


  Commit: 8b61fc7181c06dbe907c67b49c75d59ae1595eb5
      https://github.com/llvm/llvm-project/commit/8b61fc7181c06dbe907c67b49c75d59ae1595eb5
  Author: Andy Kaylor <andrew.kaylor at intel.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/docs/GettingInvolved.rst

  Log Message:
  -----------
  Add sync-up for floating-point working group (#71885)

Adding a new working group to discuss floating-point issues


  Commit: 238b5790ba2027a88706a320fe61bd21601b788b
      https://github.com/llvm/llvm-project/commit/238b5790ba2027a88706a320fe61bd21601b788b
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M flang/lib/Semantics/check-acc-structure.cpp
    M flang/test/Semantics/OpenACC/acc-routine.f90

  Log Message:
  -----------
  [flang][openacc] Do not accept static and num for gang clause on routine dir (#77673)

Only the dim argument is allowed on the gang clause for the routine
directive. Reject static and num arguments in the semantic check.


  Commit: a6d401703b7542e00c85767513be0851df6c67cf
      https://github.com/llvm/llvm-project/commit/a6d401703b7542e00c85767513be0851df6c67cf
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/Analysis/StackSafetyAnalysis.cpp
    M llvm/test/Analysis/StackSafetyAnalysis/memintrin.ll

  Log Message:
  -----------
  [StackSafetyAnalysis] Bail out if MemIntrinsic length is -1 (#77837)

Clang generates llvm.memset.p0.i64 with a length of -1 for the following
code in
`-stdlib=libc++ -std=c++20` mode

(https://github.com/llvm/llvm-project/pull/77210#issuecomment-1887650010)
```cpp
bool strtof_clamp(const std::string &str);
void floatsuffix_check(char *yytext_r) {
  std::string text = yytext_r;
  text.resize(text.size() - 1);
  strtof_clamp(text);
}
```

`Sizes = [0xffffffffffffffff, 0)`. `SizeRange = [0, 0-1)`, leading to
`assert(!isUnsafe(SizeRange));` failure. Bail out if the length is -1.
Other negative values are handled by the existing condition.


  Commit: c8ad8024435df43a0811edb51be6ee517c44d332
      https://github.com/llvm/llvm-project/commit/c8ad8024435df43a0811edb51be6ee517c44d332
  Author: Valentin Clement <clementval at gmail.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M flang/include/flang/Common/Fortran.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Parser/openacc-parsers.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Semantics/OpenACC/acc-module.f90

  Log Message:
  -----------
  [flang][openacc] Carry device dependent info for routine in the module file


  Commit: 7740565f56ce888f5c60d986476185477c911b25
      https://github.com/llvm/llvm-project/commit/7740565f56ce888f5c60d986476185477c911b25
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M compiler-rt/test/asan/TestCases/alloca_vla_interact.cpp
    M compiler-rt/test/asan/TestCases/scariness_score_test.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/test/Instrumentation/AddressSanitizer/asan-stack-safety.ll
    M llvm/test/Instrumentation/AddressSanitizer/debug_info.ll
    M llvm/test/Instrumentation/AddressSanitizer/lifetime-uar-uas.ll
    M llvm/test/Instrumentation/AddressSanitizer/lifetime.ll
    M llvm/test/Instrumentation/AddressSanitizer/local_stack_base.ll
    M llvm/test/Instrumentation/AddressSanitizer/stack_dynamic_alloca.ll
    M llvm/test/Instrumentation/AddressSanitizer/stack_layout.ll

  Log Message:
  -----------
  [asan] Enable StackSafetyAnalysis by default

StackSafetyAnalysis determines whether stack-allocated variables are
guaranteed to be safe from memory access bugs and enables the removal of
certain unneeded instrumentations.
(hwasan enables StackSafetyAnalysis in https://reviews.llvm.org/D108381)

In a release build of clang, text sections are 9% smaller.

Test updates:

* asan-stack-safety.ll: test the -asan-use-stack-safety=1 default
* lifetime-uar-uas.ll: switch to an indexed store to prevent
  StackSafetyAnalysis from optimizing out instrumentation for %c
* alloca_vla_interact.cpp: add a load to prevent StackSafetyAnalysis
  from optimizing out `__asan_alloca_poison` for the VLA `array`
* scariness_score_test.cpp: add -asan-use-stack-safety=0 to make a load
  of a `__asan_poison_memory_region`-poisoned local variable fail as
  intended.
* other .ll tests: add -asan-use-stack-safety=0

Reviewed By: kstoimenov

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


  Commit: b3981edb51bf36480b8b2c9d6969725ddbcadcfb
      https://github.com/llvm/llvm-project/commit/b3981edb51bf36480b8b2c9d6969725ddbcadcfb
  Author: a-n-n-a-l-e-e <150648636+a-n-n-a-l-e-e at users.noreply.github.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M libcxx/src/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Re-export libc++abi symbols on Apple platforms when using system-libcxxabi (#77218)

When using LIBCXX_CXX_ABI=system-libcxxabi on Apple platforms, we would not
re-export the libc++abi symbols unlike when LIBCXX_CXX_ABI=libcxxabi. This
was caused by overly strict string matching in CMake.

https://github.com/NixOS/nixpkgs/issues/269548


  Commit: bbe07989d7225aaff9613b71dbd7f00e8d738b22
      https://github.com/llvm/llvm-project/commit/bbe07989d7225aaff9613b71dbd7f00e8d738b22
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M bolt/docs/BAT.md
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/test/X86/bolt-address-translation.test

  Log Message:
  -----------
  [BOLT] Delta-encode offsets in BAT (#76900)

This change further reduces the size of BAT:
- large binary: to 13073904 bytes (0.34x original),
- medium binary: to 1703116 bytes (0.29x original),
- small binary: to 436 bytes (0.30x original).

Test Plan: Updated bolt/test/X86/bolt-address-translation.test


  Commit: 8fb8ad66c95a51b82e5c2876ed925b5512ce6b83
      https://github.com/llvm/llvm-project/commit/8fb8ad66c95a51b82e5c2876ed925b5512ce6b83
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M bolt/docs/BAT.md
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/test/X86/bolt-address-translation.test

  Log Message:
  -----------
  [BOLT] Delta-encode function start addresses in BAT (#76902)

Further reduce the size of BAT section:
- large binary: to 12716312 bytes (0.33x original),
- medium binary: to 1649472 bytes (0.28x original),
- small binary: to 428 bytes (0.30x original).

Test Plan: Updated bolt/test/X86/bolt-address-translation.test


  Commit: e3e47a15679e2df3f1b5f161164bc0fe82833583
      https://github.com/llvm/llvm-project/commit/e3e47a15679e2df3f1b5f161164bc0fe82833583
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/PerfHelper.cpp
    M llvm/tools/llvm-exegesis/lib/PerfHelper.h
    M llvm/tools/llvm-exegesis/lib/Target.cpp
    M llvm/tools/llvm-exegesis/lib/Target.h
    M llvm/tools/llvm-exegesis/lib/X86/Target.cpp
    M llvm/tools/llvm-exegesis/lib/X86/X86Counter.cpp
    M llvm/tools/llvm-exegesis/lib/X86/X86Counter.h

  Log Message:
  -----------
  [llvm-exegesis] Refactor Counter to CounterGroup

This refactoring gets things ready for validation counters where the
plan is to reuse the existing Counter infrastructure to contain event
groups that consist of a single event that is being measured along with
validation counters.


  Commit: ea146f2462c7155fc796b58bb7f7d92527e58422
      https://github.com/llvm/llvm-project/commit/ea146f2462c7155fc796b58bb7f7d92527e58422
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml
    A bolt/docs/BAT.md
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/X86/bolt-address-translation.test
    M clang-tools-extra/clang-query/QueryParser.cpp
    M clang-tools-extra/clangd/Selection.cpp
    M clang-tools-extra/clangd/unittests/SelectionTests.cpp
    M clang-tools-extra/clangd/unittests/tweaks/AddUsingTests.cpp
    M clang/.clang-tidy
    M clang/cmake/caches/Fuchsia.cmake
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/HLSL/FunctionCalls.rst
    M clang/docs/InternalsManual.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Parse/Parser.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Format/WhitespaceManager.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/test/AST/Interp/functions.cpp
    M clang/test/Analysis/Inputs/system-header-simulator.h
    M clang/test/Analysis/stream-error.c
    M clang/test/CodeGen/2006-05-19-SingleEltReturn.c
    M clang/test/CodeGen/64bit-swiftcall.c
    M clang/test/CodeGen/CSKY/csky-abi.c
    M clang/test/CodeGen/CSKY/csky-hard-abi.c
    M clang/test/CodeGen/CSKY/csky-soft-abi.c
    M clang/test/CodeGen/PowerPC/aix-alignment.c
    M clang/test/CodeGen/PowerPC/powerpc-c99complex.c
    M clang/test/CodeGen/PowerPC/ppc-aggregate-abi.cpp
    M clang/test/CodeGen/PowerPC/ppc32-and-aix-struct-return.c
    M clang/test/CodeGen/PowerPC/ppc64-align-struct.c
    M clang/test/CodeGen/PowerPC/ppc64-elf-abi.c
    M clang/test/CodeGen/PowerPC/ppc64-soft-float.c
    M clang/test/CodeGen/PowerPC/ppc64-vector.c
    M clang/test/CodeGen/PowerPC/ppc64le-aggregates.c
    M clang/test/CodeGen/PowerPC/ppc64le-f128Aggregates.c
    M clang/test/CodeGen/RISCV/bfloat-abi.c
    M clang/test/CodeGen/RISCV/riscv-abi.cpp
    M clang/test/CodeGen/RISCV/riscv32-abi.c
    M clang/test/CodeGen/RISCV/riscv64-abi.c
    M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
    M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
    M clang/test/CodeGen/SystemZ/systemz-abi.c
    M clang/test/CodeGen/SystemZ/systemz-abi.cpp
    M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
    M clang/test/CodeGen/WebAssembly/wasm-arguments.c
    M clang/test/CodeGen/WebAssembly/wasm-varargs.c
    M clang/test/CodeGen/X86/x86_32-arguments-darwin.c
    M clang/test/CodeGen/X86/x86_32-arguments-iamcu.c
    M clang/test/CodeGen/X86/x86_64-arguments-nacl.c
    M clang/test/CodeGen/X86/x86_64-arguments-win32.c
    M clang/test/CodeGen/X86/x86_64-arguments.c
    M clang/test/CodeGen/aarch64-branch-protection-attr.c
    M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/aarch64-targetattr.c
    M clang/test/CodeGen/aarch64-varargs.c
    M clang/test/CodeGen/aggregate-assign-call.c
    M clang/test/CodeGen/aligned-sret.c
    M clang/test/CodeGen/arc/arguments.c
    M clang/test/CodeGen/arm-aapcs-vfp.c
    M clang/test/CodeGen/arm-arguments.c
    M clang/test/CodeGen/arm-homogenous.c
    M clang/test/CodeGen/arm-neon-vld.c
    M clang/test/CodeGen/arm-swiftcall.c
    M clang/test/CodeGen/arm-varargs.c
    M clang/test/CodeGen/arm-vector-arguments.c
    M clang/test/CodeGen/arm-vfp16-arguments.c
    M clang/test/CodeGen/arm-vfp16-arguments2.cpp
    M clang/test/CodeGen/arm64-arguments.c
    M clang/test/CodeGen/arm64-microsoft-arguments.cpp
    M clang/test/CodeGen/arm64_32.c
    M clang/test/CodeGen/armv7k-abi.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/attr-noundef.cpp
    M clang/test/CodeGen/blocks.c
    M clang/test/CodeGen/c11atomics-ios.c
    M clang/test/CodeGen/c11atomics.c
    M clang/test/CodeGen/debug-info-codeview-unnamed.c
    M clang/test/CodeGen/debug-info-unused-types.c
    M clang/test/CodeGen/debug-info-unused-types.cpp
    M clang/test/CodeGen/ext-int-cc.c
    M clang/test/CodeGen/isfpclass.c
    M clang/test/CodeGen/lanai-arguments.c
    M clang/test/CodeGen/mcu-struct-return.c
    M clang/test/CodeGen/mingw-long-double.c
    M clang/test/CodeGen/mips-vector-return.c
    M clang/test/CodeGen/mips-zero-sized-struct.c
    M clang/test/CodeGen/mips64-nontrivial-return.cpp
    M clang/test/CodeGen/mips64-padding-arg.c
    M clang/test/CodeGen/ms_abi.c
    M clang/test/CodeGen/paren-list-agg-init.cpp
    M clang/test/CodeGen/regcall2.c
    M clang/test/CodeGen/regparm-struct.c
    M clang/test/CodeGen/renderscript.c
    M clang/test/CodeGen/sparcv9-abi.c
    M clang/test/CodeGen/sret.c
    M clang/test/CodeGen/vectorcall.c
    M clang/test/CodeGen/windows-struct-abi.c
    M clang/test/CodeGen/windows-swiftcall.c
    M clang/test/CodeGenCXX/aix-alignment.cpp
    M clang/test/CodeGenCXX/arm-cc.cpp
    M clang/test/CodeGenCXX/arm-swiftcall.cpp
    M clang/test/CodeGenCXX/attr-musttail.cpp
    M clang/test/CodeGenCXX/call-with-static-chain.cpp
    M clang/test/CodeGenCXX/conditional-gnu-ext.cpp
    M clang/test/CodeGenCXX/cxx1z-copy-omission.cpp
    M clang/test/CodeGenCXX/cxx1z-lambda-star-this.cpp
    M clang/test/CodeGenCXX/debug-info-access.cpp
    M clang/test/CodeGenCXX/debug-info-anon-union-vars.cpp
    M clang/test/CodeGenCXX/debug-info-codeview-unnamed.cpp
    M clang/test/CodeGenCXX/debug-info-gline-tables-only-codeview.cpp
    M clang/test/CodeGenCXX/debug-lambda-this.cpp
    M clang/test/CodeGenCXX/exceptions.cpp
    M clang/test/CodeGenCXX/homogeneous-aggregates.cpp
    M clang/test/CodeGenCXX/lambda-expressions.cpp
    M clang/test/CodeGenCXX/matrix-casts.cpp
    M clang/test/CodeGenCXX/matrix-type-builtins.cpp
    M clang/test/CodeGenCXX/matrix-type.cpp
    M clang/test/CodeGenCXX/microsoft-abi-byval-sret.cpp
    M clang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-cdecl-method-sret.cpp
    M clang/test/CodeGenCXX/microsoft-abi-eh-cleanups.cpp
    M clang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
    M clang/test/CodeGenCXX/microsoft-abi-unknown-arch.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vmemptr-conflicts.cpp
    M clang/test/CodeGenCXX/ms-thread_local.cpp
    M clang/test/CodeGenCXX/nrvo.cpp
    M clang/test/CodeGenCXX/pass-by-value-noalias.cpp
    M clang/test/CodeGenCXX/regcall.cpp
    M clang/test/CodeGenCXX/regcall4.cpp
    M clang/test/CodeGenCXX/stack-reuse-miscompile.cpp
    M clang/test/CodeGenCXX/stack-reuse.cpp
    M clang/test/CodeGenCXX/temporaries.cpp
    M clang/test/CodeGenCXX/thiscall-struct-return.cpp
    M clang/test/CodeGenCXX/thunk-returning-memptr.cpp
    M clang/test/CodeGenCXX/trivial_abi.cpp
    M clang/test/CodeGenCXX/unknown-anytype.cpp
    M clang/test/CodeGenCXX/wasm-args-returns.cpp
    M clang/test/CodeGenCXX/x86_32-arguments.cpp
    M clang/test/CodeGenCXX/x86_64-arguments.cpp
    M clang/test/CodeGenCoroutines/coro-await.cpp
    M clang/test/CodeGenCoroutines/coro-gro2.cpp
    M clang/test/CodeGenHLSL/sret_output.hlsl
    M clang/test/CodeGenObjC/arc.m
    M clang/test/CodeGenObjC/direct-method.m
    M clang/test/CodeGenObjC/nontrivial-c-struct-exception.m
    M clang/test/CodeGenObjC/objc-non-trivial-struct-nrvo.m
    M clang/test/CodeGenObjC/stret-1.m
    M clang/test/CodeGenObjC/stret_lookup.m
    M clang/test/CodeGenObjC/weak-in-c-struct.m
    M clang/test/CodeGenObjC/x86_64-struct-return-gc.m
    M clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
    M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
    M clang/test/CodeGenOpenCLCXX/addrspace-of-this.clcpp
    M clang/test/Driver/aarch64-security-options.c
    M clang/test/Modules/templates.mm
    M clang/test/OpenMP/irbuilder_for_iterator.cpp
    M clang/test/OpenMP/irbuilder_for_rangefor.cpp
    M clang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
    M clang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
    M clang/test/OpenMP/target_in_reduction_codegen.cpp
    M clang/test/OpenMP/task_in_reduction_codegen.cpp
    M clang/test/OpenMP/taskloop_in_reduction_codegen.cpp
    M clang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/Preprocessor/aarch64-target-features.c
    M clang/test/SemaCXX/conversion-function.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestMacroExpansion.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/www/c_dr_status.html
    M clang/www/c_status.html
    M clang/www/cxx_dr_status.html
    M clang/www/make_cxx_dr_status
    M compiler-rt/include/profile/InstrProfData.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_thread_arg_retval.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_thread_arg_retval.h
    M compiler-rt/test/sanitizer_common/TestCases/Linux/pthread_join.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/pthread_join_invalid.cpp
    M flang/docs/FlangDriver.md
    M flang/docs/Intrinsics.md
    M flang/include/flang/Common/Fortran.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Runtime/extensions.h
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
    M flang/lib/Parser/openacc-parsers.cpp
    M flang/lib/Semantics/check-acc-structure.cpp
    M flang/lib/Semantics/check-directive-structure.h
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/runtime/extensions.cpp
    M flang/test/Driver/compiler-options.f90
    M flang/test/Driver/ctofortran.f90
    M flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/driver-help.f90
    A flang/test/Driver/exec.f90
    M flang/test/Driver/falias-analysis.f90
    M flang/test/Driver/fveclib.f90
    M flang/test/Driver/input-from-stdin/input-from-stdin.f90
    A flang/test/Driver/isysroot.f90
    M flang/test/HLFIR/order_assignments/user-defined-assignment.fir
    M flang/test/Lower/OpenACC/acc-kernels-loop.f90
    M flang/test/Lower/OpenACC/acc-loop.f90
    M flang/test/Lower/OpenACC/acc-parallel-loop.f90
    M flang/test/Lower/OpenACC/acc-serial-loop.f90
    M flang/test/Preprocessing/preprocessed-dirs.F90
    M flang/test/Semantics/OpenACC/acc-module.f90
    M flang/test/Semantics/OpenACC/acc-routine.f90
    M flang/test/Semantics/OpenMP/use_device_addr.f90
    M flang/test/Semantics/OpenMP/use_device_ptr.f90
    M flang/test/lit.cfg.py
    M flang/unittests/Runtime/CommandTest.cpp
    M libc/fuzzing/string/CMakeLists.txt
    A libc/fuzzing/string/bcmp_fuzz.cpp
    A libc/fuzzing/string/memcmp_fuzz.cpp
    M libc/src/string/memory_utils/op_x86.h
    M libc/test/src/string/memcmp_test.cpp
    M libcxx/CMakeLists.txt
    M libcxx/cmake/caches/AArch64.cmake
    M libcxx/cmake/caches/AIX.cmake
    M libcxx/cmake/caches/AndroidNDK.cmake
    M libcxx/cmake/caches/Apple.cmake
    M libcxx/cmake/caches/Armv7Arm.cmake
    M libcxx/cmake/caches/Armv7M-picolibc.cmake
    M libcxx/cmake/caches/Armv7Thumb-no-exceptions.cmake
    M libcxx/cmake/caches/Armv8Arm.cmake
    M libcxx/cmake/caches/Armv8Thumb-no-exceptions.cmake
    M libcxx/cmake/caches/Generic-merged.cmake
    M libcxx/cmake/caches/Generic-msan.cmake
    M libcxx/cmake/caches/Generic-tsan.cmake
    M libcxx/cmake/caches/MinGW.cmake
    M libcxx/docs/BuildingLibcxx.rst
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/include/string
    M libcxx/src/CMakeLists.txt
    M libcxx/test/libcxx/memory/trivial_abi/unique_ptr_destruction_order.pass.cpp
    M libcxx/test/std/language.support/support.exception/propagation/make_exception_ptr.pass.cpp
    M libcxx/test/std/language.support/support.exception/propagation/rethrow_exception.pass.cpp
    M libcxx/test/support/msvc_stdlib_force_include.h
    M libcxx/test/support/test_macros.h
    M libcxx/utils/ci/run-buildbot
    M libcxxabi/CMakeLists.txt
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Relocations.cpp
    M lld/test/ELF/arm-adr.s
    M lldb/source/Target/TargetProperties.td
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/docs/GettingInvolved.rst
    A llvm/docs/InstrProfileFormat.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/docs/UserGuides.rst
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
    M llvm/include/llvm/CodeGen/GlobalISel/Localizer.h
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    A llvm/include/llvm/DWARFLinker/Utils.h
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/include/llvm/IR/DebugInfo.h
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/ProfileData/InstrProfData.inc
    M llvm/include/llvm/Support/RISCVISAInfo.h
    M llvm/include/llvm/TargetParser/ARMTargetParserCommon.h
    M llvm/lib/Analysis/StackSafetyAnalysis.cpp
    M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/BranchFolding.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/Localizer.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
    M llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
    R llvm/lib/DWARFLinker/Parallel/Utils.h
    M llvm/lib/DWARFLinker/Utils.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Support/CommandLine.cpp
    M llvm/lib/Support/RISCVISAInfo.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrArithmetic.td
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/lib/Target/X86/X86InstrMisc.td
    M llvm/lib/TargetParser/ARMTargetParserCommon.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Analysis/StackSafetyAnalysis/memintrin.ll
    A llvm/test/Bitcode/clone-local-types.ll
    M llvm/test/Bitcode/upgrade-cu-locals.ll
    M llvm/test/Bitcode/upgrade-cu-locals.ll.bc
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/invoke-region.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-hoisted-constants.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/localizer.mir
    M llvm/test/CodeGen/AArch64/arm64-ldp-cluster.ll
    M llvm/test/CodeGen/AArch64/machine-combiner-copy.ll
    A llvm/test/CodeGen/AArch64/note-gnu-property-gcs.ll
    A llvm/test/CodeGen/AArch64/sve2-xar.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memmove.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
    M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    A llvm/test/CodeGen/AMDGPU/lds-direct-hazards-gfx11.mir
    A llvm/test/CodeGen/AMDGPU/lds-direct-hazards-gfx12.mir
    R llvm/test/CodeGen/AMDGPU/lds-direct-hazards.mir
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.atomic.flt.ll
    M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
    M llvm/test/CodeGen/AMDGPU/release-vgprs.mir
    M llvm/test/CodeGen/Generic/live-debug-label.ll
    A llvm/test/CodeGen/PowerPC/pr77748.ll
    M llvm/test/CodeGen/RISCV/branch-on-zero.ll
    M llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
    M llvm/test/CodeGen/X86/abds.ll
    A llvm/test/CodeGen/X86/apx/adc.ll
    A llvm/test/CodeGen/X86/apx/add.ll
    A llvm/test/CodeGen/X86/apx/compress-evex.mir
    A llvm/test/CodeGen/X86/apx/dec.ll
    A llvm/test/CodeGen/X86/apx/imul.ll
    A llvm/test/CodeGen/X86/apx/inc.ll
    A llvm/test/CodeGen/X86/apx/neg.ll
    A llvm/test/CodeGen/X86/apx/not.ll
    A llvm/test/CodeGen/X86/apx/or.ll
    A llvm/test/CodeGen/X86/apx/sbb.ll
    A llvm/test/CodeGen/X86/apx/sub.ll
    A llvm/test/CodeGen/X86/apx/xor.ll
    M llvm/test/CodeGen/X86/branchfolding-landingpad-cfg.mir
    M llvm/test/CodeGen/X86/pr14088.ll
    A llvm/test/CodeGen/X86/windows-seh-EHa-PreserveCFG.ll
    A llvm/test/DebugInfo/Generic/inlined-local-type.ll
    A llvm/test/DebugInfo/Generic/lexical-block-retained-types.ll
    A llvm/test/DebugInfo/Generic/lexical-block-types.ll
    R llvm/test/DebugInfo/Generic/split-dwarf-local-import.ll
    R llvm/test/DebugInfo/Generic/split-dwarf-local-import2.ll
    R llvm/test/DebugInfo/Generic/split-dwarf-local-import3.ll
    M llvm/test/DebugInfo/Generic/verifier-invalid-disubprogram.ll
    A llvm/test/DebugInfo/X86/local-type-as-template-parameter.ll
    M llvm/test/DebugInfo/X86/set.ll
    A llvm/test/DebugInfo/X86/split-dwarf-local-import.ll
    A llvm/test/DebugInfo/X86/split-dwarf-local-import2.ll
    A llvm/test/DebugInfo/X86/split-dwarf-local-import3.ll
    M llvm/test/MC/AArch64/SVE/pfalse-diagnostics.s
    M llvm/test/MC/AArch64/SVE/predicate-as-counter-aliases.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vimage.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vimage_alias.s
    M llvm/test/MC/AMDGPU/gfx12_err.s
    M llvm/test/MC/AMDGPU/gfx12_unsupported.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage.txt
    M llvm/test/MC/X86/index-operations.s
    M llvm/test/TableGen/dag-isel-complexpattern.td
    A llvm/test/ThinLTO/X86/memprof-tailcall-nonunique.ll
    A llvm/test/ThinLTO/X86/memprof-tailcall.ll
    A llvm/test/Transforms/IndVarSimplify/preserve-nsw-during-expansion.ll
    M llvm/test/Transforms/InstCombine/bitreverse.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-cost-compare.ll
    M llvm/test/Transforms/LoopStrengthReduce/lsr-term-fold.ll
    A llvm/test/Transforms/MemProfContextDisambiguation/tailcall-nonunique.ll
    A llvm/test/Transforms/MemProfContextDisambiguation/tailcall.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/vec15-base.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/vec3-calls.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
    A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-multiuse-with-insertelement.ll
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/PerfHelper.cpp
    M llvm/tools/llvm-exegesis/lib/PerfHelper.h
    M llvm/tools/llvm-exegesis/lib/Target.cpp
    M llvm/tools/llvm-exegesis/lib/Target.h
    M llvm/tools/llvm-exegesis/lib/X86/Target.cpp
    M llvm/tools/llvm-exegesis/lib/X86/X86Counter.cpp
    M llvm/tools/llvm-exegesis/lib/X86/X86Counter.h
    M llvm/unittests/Support/RISCVISAInfoTest.cpp
    M llvm/unittests/Transforms/Utils/CloningTest.cpp
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
    M mlir/docs/PassManagement.md
    M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
    M mlir/include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.td
    M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    A mlir/include/mlir/Dialect/LLVMIR/Transforms/DIExpressionLegalization.h
    A mlir/include/mlir/Dialect/LLVMIR/Transforms/DIExpressionRewriter.h
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/include/mlir/ExecutionEngine/Float16bits.h
    M mlir/include/mlir/ExecutionEngine/RunnerUtils.h
    M mlir/include/mlir/Transforms/GreedyPatternRewriteDriver.h
    M mlir/lib/Conversion/ArithCommon/AttrToLLVMConverter.cpp
    M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/LLVMIR/Transforms/DIExpressionLegalization.cpp
    A mlir/lib/Dialect/LLVMIR/Transforms/DIExpressionRewriter.cpp
    M mlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/lib/ExecutionEngine/Float16bits.cpp
    M mlir/lib/ExecutionEngine/RunnerUtils.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Dialect/Affine/constant-fold.mlir
    M mlir/test/Dialect/ArmSME/enable-arm-za.mlir
    A mlir/test/Dialect/LLVMIR/di-expression-legalization.mlir
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/MemRef/invalid.mlir
    M mlir/test/Dialect/MemRef/ops.mlir
    M mlir/test/Dialect/OpenACC/ops.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/fill-2d.mlir
    A mlir/test/Integration/Dialect/Memref/verify-memref.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-load-vertical.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-read-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-write-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transpose.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-ops.mlir
    M mlir/test/Target/LLVMIR/Import/function-attributes.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir
    M openmp/libomptarget/DeviceRTL/include/Configuration.h
    M openmp/libomptarget/DeviceRTL/src/Configuration.cpp
    M openmp/libomptarget/DeviceRTL/src/Workshare.cpp
    M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
    A openmp/libomptarget/test/offloading/fortran/basic-target-parallel-region.f90
    A utils/bazel/crash-f7dbdb2b330aad91f520099159e736e91bb9ddbf

  Log Message:
  -----------
  Merge branch 'users/boomanaiden154/exegesis-validation-counters-countergroup' into users/boomanaiden154/exegesis-validation-counters-implementation


Compare: https://github.com/llvm/llvm-project/compare/02101329e737...ea146f2462c7


More information about the All-commits mailing list