[all-commits] [llvm/llvm-project] 7e56a0: [RISCV] Add a testcase for an unprofitable machine...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Tue Sep 17 03:49:33 PDT 2024


  Branch: refs/heads/users/alexey-bataev/spr/slpadd-subvector-vectorization-for-non-load-nodes
  Home:   https://github.com/llvm/llvm-project
  Commit: 7e56a092781b094307155457f129df7deda411ae
      https://github.com/llvm/llvm-project/commit/7e56a092781b094307155457f129df7deda411ae
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll

  Log Message:
  -----------
  [RISCV] Add a testcase for an unprofitable machine-sink issue

This corresponds to an upcoming change which will fully explain
why this is a machine-sink issue.


  Commit: ad06e9562a3d2b532240390275c2b35f58004c04
      https://github.com/llvm/llvm-project/commit/ad06e9562a3d2b532240390275c2b35f58004c04
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

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

  Log Message:
  -----------
  Reapply "[NFC][sanitizer] Switch to `gnu_get_libc_version` (#108724)" (#108885)

In #108724 `#ifdef` was used instead of `#if`.

This reverts commit 68e4518598d63efa02230f400e50263baccbb8e4.


  Commit: 6ca5c397a99aca2b9faa9b2d96238c5bda33010e
      https://github.com/llvm/llvm-project/commit/6ca5c397a99aca2b9faa9b2d96238c5bda33010e
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M lld/COFF/SymbolTable.cpp
    M lld/test/COFF/arm64ec-import.test

  Log Message:
  -----------
  [LLD][COFF] Redirect __imp_ Symbols to __imp_aux_ on ARM64EC for x64 object files (#108608)

On ARM64EC, __imp_ symbols reference the auxiliary IAT, while __imp_aux_
symbols reference the regular IAT. However, x86_64 code expects both to
reference the regular IAT. This change adjusts the symbols accordingly,
matching the behavior observed in the MSVC linker.


  Commit: 0975e2ac58b6d62429d51df54911fb4d03dcda05
      https://github.com/llvm/llvm-project/commit/0975e2ac58b6d62429d51df54911fb4d03dcda05
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Target/CoreFileMemoryRanges.h
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h

  Log Message:
  -----------
  [LLDB][Minidump] Add a progress bar to minidump (#108309)

Added a progress tracker to Minidump file builders memory saving


  Commit: dbc590073d2cc2a0bd3260b9a3156a966935c6a1
      https://github.com/llvm/llvm-project/commit/dbc590073d2cc2a0bd3260b9a3156a966935c6a1
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M llvm/test/MC/WebAssembly/eh-assembly-legacy.s
    M llvm/test/MC/WebAssembly/func-end-errors.s
    M llvm/test/MC/WebAssembly/funcref-from-table.s
    M llvm/test/MC/WebAssembly/type-checker-br.s

  Log Message:
  -----------
  [WebAssembly] Fix .functype directives in tests (#108748)

For defined functions, it appears `.functype` directive should be after
the function label. Otherwise binary generation does not seem to work
correctly. Also this fixes a case that the `.functype` directive's name
is incorrect.


  Commit: 488640389faedee8c65566275441779faa620fd2
      https://github.com/llvm/llvm-project/commit/488640389faedee8c65566275441779faa620fd2
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/LangStandards.def
    M clang/lib/Basic/LangStandards.cpp
    M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
    M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
    M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
    M clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes_202x.hlsl
    M clang/test/SemaHLSL/Types/Traits/IsIntangibleTypeErrors.hlsl
    M clang/test/SemaHLSL/Types/Traits/ScalarizedLayoutCompatibleErrors.hlsl
    M clang/test/SemaHLSL/group_shared.hlsl
    M clang/test/SemaHLSL/prohibit_reference.hlsl

  Log Message:
  -----------
  [HLSL] Align language modes on 202x as default (#108662)

As captured in issue #108044, HLSL 202x is the target language mode for
conformance for Clang. Earlier language modes will be a best effort and
prioritized after 2020x. To make this easier and reduce our testing
complexity we want to make 202x the default language mode now, and align
all earlier modes to match 202x (except where we explicitly deviate).

This change has the following concrete changes:
* All older language modes gain `CPlusPlus11` as a base
* The default language mode for HLSL sources is changed to 202x
* A few test cases are updated to resolve differences in generated
diagnostics.

Second to last change for  #108044


  Commit: bffb26f1531ecfe209b84f77b170ddb0df991351
      https://github.com/llvm/llvm-project/commit/bffb26f1531ecfe209b84f77b170ddb0df991351
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp

  Log Message:
  -----------
  [ELF] Add LinkerDriver::ctx. NFC


  Commit: a366323c8db13616d6eaa603c0ab3895acaea669
      https://github.com/llvm/llvm-project/commit/a366323c8db13616d6eaa603c0ab3895acaea669
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/iabs.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Restore s32 support for G_ABS on RV64.

This reverts commit 5e6a1987a5d4574d3c3811f878ddbbbf7c35fa01.

I was was plannig to remove s32 as a legal type on RV64, but
I'm rethinking that.


  Commit: f022111e640f10f5f5e879c1dd585ddd0a40acf3
      https://github.com/llvm/llvm-project/commit/f022111e640f10f5f5e879c1dd585ddd0a40acf3
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/alu-roundtrip.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/alu_m-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rem-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Restore s32 support on RV64 for DIV, and REM.

This reverts commit 2599d695128381e6932b43f0e95649c533308d6d.

I was was plannig to remove s32 as a legal type on RV64, but
I'm rethinking that.


  Commit: d9045420ae8c1b986232a44b9e3073793eec7f8a
      https://github.com/llvm/llvm-project/commit/d9045420ae8c1b986232a44b9e3073793eec7f8a
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp

  Log Message:
  -----------
  [ELF] Add Config &Ctx::arg. NFC

And migrate LinkerDriver member functions to use `ctx.arg.x` instead of
`config->x`.


  Commit: 0cc2cd781594aec741f7262df7a48d73a7d09a18
      https://github.com/llvm/llvm-project/commit/0cc2cd781594aec741f7262df7a48d73a7d09a18
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    A lldb/test/API/tools/lldb-dap/locations/Makefile
    A lldb/test/API/tools/lldb-dap/locations/TestDAP_locations.py
    A lldb/test/API/tools/lldb-dap/locations/main.c
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/JSONUtils.h
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb-dap] Provide `declarationLocation` for variables (#102928)

This commit implements support for the "declaration location" recently
added by microsoft/debug-adapter-protocol#494 to the debug adapter
protocol.

For the `declarationLocationReference` we need a variable ID similar to
the `variablesReference`. I decided to simply reuse the
`variablesReference` here and renamed `Variables::expandable_variables`
and friends accordingly. Given that almost all variables have a
declaration location, we now assign those variable ids to all variables.

While `declarationLocationReference` effectively supersedes
`$__lldb_extensions.declaration`, I did not remove this extension, yet,
since I assume that there are some closed-source extensions which rely
on it.

I tested this against VS-Code Insiders. However, VS-Code Insiders
currently only supports `valueLoctionReference` and not
`declarationLocationReference`, yet. Locally, I hence published the
declaration locations as value locations, and VS Code Insiders navigated
to the expected places. Looking forward to proper VS Code support for
`declarationLocationReference`.


  Commit: 48498ec7a4ded9f1bf813051abdc54c3e5b66fa7
      https://github.com/llvm/llvm-project/commit/48498ec7a4ded9f1bf813051abdc54c3e5b66fa7
  Author: ziqingluo-90 <ziqing_luo at apple.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Fix a bug in "Re-land [-Wunsafe-buffer-usage] Warning Libc functions (#101583)"

StringLiteral::getString() is not applicable to strings of wide
characters.  Added handling for that.

(rdar://117182250)


  Commit: f99bb02d7d28bb127af86483d9c2710088f76756
      https://github.com/llvm/llvm-project/commit/f99bb02d7d28bb127af86483d9c2710088f76756
  Author: bwlodarcz <bertrand.wlodarczyk at intel.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    R llvm/test/CodeGen/SPIRV/debug-info/basic-global-di.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-compilation-unit.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-type-basic.ll

  Log Message:
  -----------
  [SPIR-V] Emit DebugTypeBasic for NonSemantic DI (#106980)

The commit introduces support for fundamental DI instruction. Metadata
handlers required for this instruction is stored inside debug records
(https://llvm.org/docs/SourceLevelDebugging.html) parts of the module
which rises the necessity of it's traversal.


  Commit: c96ee0ffaf5ee7afa1f4b0be0662852f57b47244
      https://github.com/llvm/llvm-project/commit/c96ee0ffaf5ee7afa1f4b0be0662852f57b47244
  Author: Henrik G. Olsson <hnrklssn at gmail.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M clang/test/utils/update-verify-tests/lit.local.cfg

  Log Message:
  -----------
  fix update-verify-tests test suite for AIX (#108871)

The diff command on AIX doesn't support the --strip-trailing-cr flag.
The internal python implementation does, so execute the tests in the
update-verify-tests test suite using the internal shell for
compatibility.


  Commit: 7b3d4e38ddd15b294bd32d34e7f5e194840a4dbd
      https://github.com/llvm/llvm-project/commit/7b3d4e38ddd15b294bd32d34e7f5e194840a4dbd
  Author: Enna1 <xumingjie.enna1 at bytedance.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M compiler-rt/lib/asan/asan_linux.cpp

  Log Message:
  -----------
  [NFC][ASan] Replace calls to Report() and Die() with ReportIncompatibleRT() in AsanCheckIncompatibleRT() (#107991)


  Commit: a20794b574803677e6407bdccef136d2e1622535
      https://github.com/llvm/llvm-project/commit/a20794b574803677e6407bdccef136d2e1622535
  Author: Enna1 <xumingjie.enna1 at bytedance.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [Sanitizer] Call Die() instead of Abort() when failed to reserve shadow memory range (#107833)

I grep the code and find that `Abort()` is only called in `Die()` when
the flag `abort_on_error` is set.
Thus, if reserving shadow memory range fails, `Die()` rather than
`Abort()` should be called. In this case, the flag `abort_on_error` will
be respected and the die callbacks will be called.


  Commit: fab60a6bae38fea7afe9d2dcadd44fb3e5c7bc25
      https://github.com/llvm/llvm-project/commit/fab60a6bae38fea7afe9d2dcadd44fb3e5c7bc25
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

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

  Log Message:
  -----------
  [NFC][sanitizer] Simplify ThreadDescriptorSizeFallback using early return (#108908)


  Commit: 8982f9854f1fc6c3ade8c01f992fc49bf41f89b9
      https://github.com/llvm/llvm-project/commit/8982f9854f1fc6c3ade8c01f992fc49bf41f89b9
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

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

  Log Message:
  -----------
  [NFC][sanitizer] Remove `else if` from ThreadDescriptorSizeFallback (#108909)


  Commit: 5df1b79372a89648cdb4ab798f1c74985e00ac6e
      https://github.com/llvm/llvm-project/commit/5df1b79372a89648cdb4ab798f1c74985e00ac6e
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/Basic/Attr.td
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
    A clang/test/ParserHLSL/hlsl_raw_buffer_attr.hlsl
    A clang/test/ParserHLSL/hlsl_raw_buffer_attr_error.hlsl

  Log Message:
  -----------
  [HLSL] Add `[[hlsl::raw_buffer]]` attribute (#107954)

This PR introduces new HLSL resource type attribute
`[[hlsl::raw_buffer]]`. Presence of this attribute on a resource handle
means that the resource does not require typed element access. The
attribute will be used on resource handles that represent buffers like
`StructuredBuffer` or `ByteAddressBuffer` and in DXIL it will be
translated to target extension type `dx.RawBuffer`.

Fixes #107907


  Commit: 97ae505753c5ade30229d223733775766ae51e47
      https://github.com/llvm/llvm-project/commit/97ae505753c5ade30229d223733775766ae51e47
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
    M llvm/test/MC/Disassembler/WebAssembly/wasm.txt

  Log Message:
  -----------
  [WebAssembly] Support disassembler for try_table (#108800)

This adds support for disassembler for the new `try_table` instruction.
This adds tests for `throw` and `throw_ref` as well.

Currently tag expressions are not supported for `throw` or `try_table`
instruction when instructions are parsed from the disassembler. Not sure
whether there is a way to support it. (This is not a new thing for the
new EH proposal; it has not been supported for the legacy EH as well.)


  Commit: 64aaf0559d9333dc00c04bb581739ddc5da358b2
      https://github.com/llvm/llvm-project/commit/64aaf0559d9333dc00c04bb581739ddc5da358b2
  Author: Max Winkler <max.enrico.winkler at gmail.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

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

  Log Message:
  -----------
  [Clang] [Driver] Ensure `-fms-volatile` is set for x86 for `*-windows-msvc` triple on non cl driver modes (#107509)

Similar reasoning as this PR:
https://github.com/llvm/llvm-project/pull/107177

`-fms-volatile` should be set by default for x86 targets as long as the
triple is `*-windows-msvc`.
The driver mode shouldn't dictate the triple when targeting msvc
compatibility.


  Commit: 884221eddb9d395830704fac79fd04008e02e368
      https://github.com/llvm/llvm-project/commit/884221eddb9d395830704fac79fd04008e02e368
  Author: JOE1994 <joseph942010 at gmail.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M mlir/lib/Debug/Observers/ActionProfiler.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/Var.cpp
    M mlir/lib/Dialect/Traits.cpp
    M mlir/lib/Dialect/Transform/DebugExtension/DebugExtensionOps.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/ExecutionEngine/ExecutionEngine.cpp
    M mlir/lib/IR/Diagnostics.cpp
    M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
    M mlir/lib/Interfaces/RuntimeVerifiableOpInterface.cpp
    M mlir/lib/Pass/Pass.cpp
    M mlir/lib/Pass/PassCrashRecovery.cpp
    M mlir/lib/Query/Matcher/RegistryManager.cpp
    M mlir/lib/Query/QueryParser.cpp

  Log Message:
  -----------
  [mlir] Tidy uses of llvm::raw_stream_ostream (NFC)

As specified in the docs,
1) raw_string_ostream is always unbuffered and
2) the underlying buffer may be used directly

( 65b13610a5226b84889b923bae884ba395ad084d for further reference )

* Don't call raw_string_ostream::flush(), which is essentially a no-op.
* Avoid unneeded calls to raw_string_ostream::str(), to avoid excess indirection.


  Commit: 95a0b4f729310d95d89f01f4d92ab7d2bf09941c
      https://github.com/llvm/llvm-project/commit/95a0b4f729310d95d89f01f4d92ab7d2bf09941c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp

  Log Message:
  -----------
  Revert "[clang][ExprConst] Allow comparisons with string literals (#106733)"

This reverts commit 5d1d2f08c4a92580e7f6b3b6b77b2b6f6184e126.

See the discussion in https://github.com/llvm/llvm-project/pull/106733
and https://github.com/llvm/llvm-project/issues/58754


  Commit: 2f7ffbaad3e7bd14b7a82d4887ef1640272ba1be
      https://github.com/llvm/llvm-project/commit/2f7ffbaad3e7bd14b7a82d4887ef1640272ba1be
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

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

  Log Message:
  -----------
  [Support] Fix bugs in formatv automatic index assignment (#108384)

Fix bugs found when actually trying to use formatv() automatic index
assignment in IntrinsicEmitter.cpp:
- Assign automatic index only for `ReplacementType::Format`.
- Make the check for all replacement indices being either automatic orexplicit more accurate.
  The existing check fails for formatv("{}{0}{}", 0, 1) (added as a unit test). Explicitly track if we
  have seen any explicit and any automatic index instead.


  Commit: 884ff9e3f9741ac282b6cf8087b8d3f62b8e138a
      https://github.com/llvm/llvm-project/commit/884ff9e3f9741ac282b6cf8087b8d3f62b8e138a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-16 (Mon, 16 Sep 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/test/CodeGen/NVPTX/f16-instructions.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/Thumb2/mve-fp-negabs.ll

  Log Message:
  -----------
  [LegalizeVectorOps] Make the AArch64 hack in ExpandFNEG more specific.

Only scalarize single element vectors when vector FSUB is not
supported and scalar FNEG is supported.


  Commit: 6af2f225a0f820d331f251af69c2dad0c845964e
      https://github.com/llvm/llvm-project/commit/6af2f225a0f820d331f251af69c2dad0c845964e
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vfwadd-vp.ll

  Log Message:
  -----------
  [RISCV] Restrict combineOp_VLToVWOp_VL w/ bf16 to vfwmadd_vl with zvfbfwma (#108798)

We currently make sure to check that if folding an op to an f16 widening
op that we have zvfh. We need to do the same for bf16 vectors, but with
the further restriction that we can only combine vfmadd_vl to vfwmadd_vl
(to get vfwmaccbf16.v{v,f}).

The added test case currently crashes because we try to fold an add to a
bf16 widening add, which doesn't exist in zvfbfmin or zvfbfwma

This moves the checks into the extension support checks to keep it one
place.


  Commit: 41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f
      https://github.com/llvm/llvm-project/commit/41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    A llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll

  Log Message:
  -----------
  [RISCV] Account for zvfhmin and zvfbfmin promotion in register usage (#108370)

A half with only zvfhmin or bfloat will end up getting promoted to a f32
for most instructions.

Unless the loop consists only of memory ops and permutation instructions
which don't need promoted (is this common?), we'll end up using double
the LMUL than what's currently being returned by getRegUsageForType.

Since this is used by the loop vectorizer, it seems better to be
conservative and assume that any usage of a zvfhmin half/bfloat will end
up being widened to a f32


  Commit: 30d7dcc1db476b828d3b0a7b5c9bcfbe5bd5f216
      https://github.com/llvm/llvm-project/commit/30d7dcc1db476b828d3b0a7b5c9bcfbe5bd5f216
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll

  Log Message:
  -----------
  [RISCV] Add asserts requirement to loop vectorizer tests

Hopefully this fixes a buildbot failure on fuchsia where opt doesn't
have -debug-only


  Commit: 827dd1ef2f104a98b9912694e5938d6d12808200
      https://github.com/llvm/llvm-project/commit/827dd1ef2f104a98b9912694e5938d6d12808200
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M bolt/test/lit.local.cfg

  Log Message:
  -----------
  [Bolt] Explicitly request PIE in tests (#108818)

When clang is built with `-DCLANG_DEFAULT_PIE_ON_LINUX=OFF`, a number of
bolt tests fail:

    BOLT :: AArch64/build_id.c
    BOLT :: AArch64/plt-call.test
BOLT :: X86/dwarf5-dwarf4-types-backward-forward-cross-reference.test
    BOLT :: X86/dwarf5-locexpr-referrence.test
    BOLT :: X86/internal-call-instrument.s
    BOLT :: X86/linux-static-keys.s
    BOLT :: X86/plt-call.test

Avoid this by explicitly adding `-fPIE` and `-pie` to the default flags
in tests, so we don't depend on the clang-side default.


  Commit: 539f9161a28e1c90743586a2d7664160ce3815c8
      https://github.com/llvm/llvm-project/commit/539f9161a28e1c90743586a2d7664160ce3815c8
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    A llvm/test/Instrumentation/sanitizers-naked.ll

  Log Message:
  -----------
  [Instrumentation] Precommit tests for PR108552 (NFC)


  Commit: 8d8bedef0d0a6a65927d5684ff332453fb6507ee
      https://github.com/llvm/llvm-project/commit/8d8bedef0d0a6a65927d5684ff332453fb6507ee
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp

  Log Message:
  -----------
  [Bufferization] Avoid repeated hash lookups (NFC) (#108925)


  Commit: 65a5b18aa04087ffba11760bd4654aaae211aa38
      https://github.com/llvm/llvm-project/commit/65a5b18aa04087ffba11760bd4654aaae211aa38
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/Shape/Transforms/OutlineShapeComputation.cpp

  Log Message:
  -----------
  [Shape] Avoid repeated hash lookups (NFC) (#108926)


  Commit: 9825d1ffcdee409864dc499394b1c2d2247822f0
      https://github.com/llvm/llvm-project/commit/9825d1ffcdee409864dc499394b1c2d2247822f0
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/PDL/IR/PDL.cpp

  Log Message:
  -----------
  [PDL] Avoid repeated hash lookups (NFC) (#108927)


  Commit: 71a39eca1e1b8eb9fb3da8ff7c86f88a73b1ec47
      https://github.com/llvm/llvm-project/commit/71a39eca1e1b8eb9fb3da8ff7c86f88a73b1ec47
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/MLProgram/Transforms/PipelineGlobalOps.cpp

  Log Message:
  -----------
  [MLProgram] Avoid repeated hash lookups (NFC) (#108928)


  Commit: 942e872d5b1a06bcb2388593dc14234f02961618
      https://github.com/llvm/llvm-project/commit/942e872d5b1a06bcb2388593dc14234f02961618
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
    M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
    M llvm/test/Instrumentation/sanitizers-naked.ll

  Log Message:
  -----------
  [Instrumentation] Do not request sanitizers for naked functions

Sanitizers instrumentation may be incompatible with naked functions,
which lack of standard prologue/epilogue.


  Commit: acfa294b5e2b10dfe9b9fc075259d849a3897493
      https://github.com/llvm/llvm-project/commit/acfa294b5e2b10dfe9b9fc075259d849a3897493
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperCompares.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/combine-cannonicalize-fcmp.mir
    M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
    M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
    M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll

  Log Message:
  -----------
  [GlobalIsel] Canonicalize G_FCMP (#108891)

As a side-effect, we start constant folding fcmps.


  Commit: c970e96eaedf76f349fcb95309a85fec29844c0e
      https://github.com/llvm/llvm-project/commit/c970e96eaedf76f349fcb95309a85fec29844c0e
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl

  Log Message:
  -----------
  [libc][bazel] Enable software prefetching for memset (#108860)

This will affect only Bazel configuration for now.


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

  Changed paths:
    M llvm/lib/Target/X86/X86DomainReassignment.cpp
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrVecCompiler.td
    M llvm/lib/Target/X86/X86SchedIceLake.td
    M llvm/lib/Target/X86/X86SchedSapphireRapids.td
    M llvm/lib/Target/X86/X86SchedSkylakeServer.td
    M llvm/lib/Target/X86/X86ScheduleZnver4.td
    M llvm/test/CodeGen/X86/apx/domain-reassignment.mir
    M llvm/test/CodeGen/X86/domain-reassignment.mir
    M llvm/test/CodeGen/X86/masked_compressstore_isel.ll
    M llvm/test/CodeGen/X86/masked_expandload_isel.ll

  Log Message:
  -----------
  [X86] Consistently use 'k' for predicate mask registers in instruction names (#108780)

We use 'k' for move instructions and to indicate masked variants of evex instructions, but otherwise we're very inconsistent when we use 'k' vs 'r'.


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll

  Log Message:
  -----------
  [LV] Remove force-vector-width/force-vector-interleave from X86 test.

Update target-specific test to not force VF/UF, but instead use the
cost-model. There are similar tests arleady outside X86 and those force
VF & UF.

With this change, the target specific test checks the cost model.
Changes in picked VF/UF are limited to test_pr62954_scalar_epilogue_required,
and should preserve the original spirit of the test.


  Commit: f25b09199ab8026bf50364cfc8d49a860fb9a760
      https://github.com/llvm/llvm-project/commit/f25b09199ab8026bf50364cfc8d49a860fb9a760
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    A llvm/test/Analysis/ValueTracking/recurrence-knownbits.ll
    R llvm/test/Analysis/ValueTracking/shift-recurrence-knownbits.ll

  Log Message:
  -----------
  ValueTracking/test: increase recurrence coverage (#108836)

The shift-recurrence-knownbits.ll test file only covers shift
instructions while testing recurrence patterns with knownbits. Add tests
for add, sub, mul, and, and or as well, and rename the file
recurrence-knownbits.ll.


  Commit: 79d380f2ca288b3d2f9aafb1149f4239e8a8308e
      https://github.com/llvm/llvm-project/commit/79d380f2ca288b3d2f9aafb1149f4239e8a8308e
  Author: SpencerAbson <Spencer.Abson at arm.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    A llvm/test/CodeGen/AArch64/aarch64-sve2-faminmax.ll

  Log Message:
  -----------
  [AArch64][SVE2] Add codegen patterns for SVE2 FAMINMAX (#107284)

Tablegen patterns were previously added to lower the following sequences
from generic IR to NEON FAMIN/FAMAX instructions

- `fminimum((abs(a), abs(b)) -> famin(a, b)`
- `fmaximum((abs(a)), abs(b)) -> famax(a, b)`
- https://github.com/llvm/llvm-project/pull/103027
- `fminnum[nnan](abs(a), abs(b)) -> famin(a, b)`
- `fmaxnum[nnan](abs(a), abs(b)) -> famax(a, b)`
- https://github.com/llvm/llvm-project/pull/104766 

The same idea has been applied for the scalable vector variants of
[FAMIN](https://developer.arm.com/documentation/ddi0602/2024-06/SVE-Instructions/FAMIN--Floating-point-absolute-minimum--predicated--)/[FAMAX](https://developer.arm.com/documentation/ddi0602/2024-06/SVE-Instructions/FAMAX--Floating-point-absolute-maximum--predicated--).
('nnan' documenatation:
https://llvm.org/docs/LangRef.html#fast-math-flags).

- Changes to LLVM
	- lib/target/AArch64/AArch64SVEInstrInfo.td
- Add 'AArch64fminnm_p_nnan' and 'AArch64fmaxnm_p_nnan' patfrags
(patterns predicated on the 'nnan' flag).
		- Add 'AArch64famax_p' and 'AArch64famin_p'
	- test/CodeGen/AArch64/aarch64-sve2-faminmax.ll
- Add tests to verify the new patterns, including both positive and
negative tests for 'nnan' predicated behavior.


  Commit: 3c5c61a4149181381f775383bc06e48457b76d7b
      https://github.com/llvm/llvm-project/commit/3c5c61a4149181381f775383bc06e48457b76d7b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-multiply-recurrences.ll

  Log Message:
  -----------
  [LV] Add first order rec test where hoisting can improve over sinking.


  Commit: 4de7026ce36564ef2f86ddcd7f183d837ad0901d
      https://github.com/llvm/llvm-project/commit/4de7026ce36564ef2f86ddcd7f183d837ad0901d
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [bazel] Split linux time targets to avoid dependency cycles

clock_gettime is much heavier than the others as it depends on vdso.


  Commit: 3e32e455913f0fe56f53f2f5711ea0130473d99a
      https://github.com/llvm/llvm-project/commit/3e32e455913f0fe56f53f2f5711ea0130473d99a
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll

  Log Message:
  -----------
  [NVPTX] Verify ptx in the right version


  Commit: 6357781e3f9fbc5a14a794b8769b451c863c65c7
      https://github.com/llvm/llvm-project/commit/6357781e3f9fbc5a14a794b8769b451c863c65c7
  Author: Julian Schmidt <git.julian.schmidt at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp

  Log Message:
  -----------
  [clang-tidy] fix nullptr dereference in bugprone-forwarding-reference (#106856)

Previously, when checking if a `TemplateSpecializationType` is either
`enable_if` or `enable_if_t`, the AST matcher would call
`getTemplateName`, `getASTemplateDecl` and `getTemplatedDecl` in
succession to check the `NamedDecl` returned from `getTemplatedDecl` is
an `std::enable_if[_t]`. In the linked issue, the pointer returned by 
`getTemplatedDecl` is a `nullptr` that is unconditionally accessed, 
resulting in a crash. Instead, the checking is done on the
`TemplateDecl`
returned by `getASTemplateDecl`.

Fixes #106333


  Commit: 50320ec967a2c6546e53998225dddb76c4016dc5
      https://github.com/llvm/llvm-project/commit/50320ec967a2c6546e53998225dddb76c4016dc5
  Author: Julian Schmidt <git.julian.schmidt at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp

  Log Message:
  -----------
  [NFC][clang-tidy] reword diagnostic note in definitions-in-headers (#106862)

`make as inline` made little sense here, so I changed the `make` to
`mark`
and added `the definition` as well.


  Commit: 605a9adb4340b347f480a95a6eef3c9045e8416f
      https://github.com/llvm/llvm-project/commit/605a9adb4340b347f480a95a6eef3c9045e8416f
  Author: Julian Schmidt <git.julian.schmidt at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp

  Log Message:
  -----------
  [clang-tidy] fix false positive in modernize-min-max-use-initializer-list (#107649)

Previously, whenever a replacement was generated by the analysis, a
diagnostic was generated. This became an issue when a call to
`std::min` or `std::max` consisted only of an initializer list with at
least one argument to the list requiring a type cast.
In this case, a single replacement that added a `static_cast` was
created,
that resulted in a diagnostic being issued but with no nested call
to `std::min` or `std::max`.

Instead, explicitly track if a nested call was detected and only emit a
diagnostic if this is the case.

Fixes #107594


  Commit: caaac84ab2ef3f56e5204c9fae5cddf7b6e9a1c0
      https://github.com/llvm/llvm-project/commit/caaac84ab2ef3f56e5204c9fae5cddf7b6e9a1c0
  Author: Julian Schmidt <git.julian.schmidt at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.cpp

  Log Message:
  -----------
  [clang-tidy] only diagnose definitions in readability-enum-initial-value (#107652)

With the `isDefinition` matcher, the analysis and diagnostics will be
constrained to definitions only. Previously forward declarations were
diagnosed as well.

Fixes #107590


  Commit: 24ccdc5f291048b70e424bb4a63cadce6d891f11
      https://github.com/llvm/llvm-project/commit/24ccdc5f291048b70e424bb4a63cadce6d891f11
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/tools/llvm-as/llvm-as.cpp

  Log Message:
  -----------
  [llvm][llvm-as] Fix file input extension description (#108295)

Input file extension description should mention that it should be `.ll`
not `.llvm`


  Commit: 50d55dc175fb4766ca15d5095412c92284df196c
      https://github.com/llvm/llvm-project/commit/50d55dc175fb4766ca15d5095412c92284df196c
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/tools/llvm-cat/llvm-cat.cpp

  Log Message:
  -----------
  [llvm][llvm-cat] Fix typo in the Input file name option (#108294)

Current usage printed by llvm-cat

`USAGE: llvm-cat [options] <input  files>`

Should be changed to 

`USAGE: llvm-cat [options] <input files>`


  Commit: 88a9bcaf7074d21aa818cfa3952300dc9547be77
      https://github.com/llvm/llvm-project/commit/88a9bcaf7074d21aa818cfa3952300dc9547be77
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang][NFC] Update `cxx_dr_status.html`


  Commit: 1e64864c6fdcbd9cb78b69b1a3a3f3da84ec2e7a
      https://github.com/llvm/llvm-project/commit/1e64864c6fdcbd9cb78b69b1a3a3f3da84ec2e7a
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Optimizer/Transforms/StackArrays.cpp

  Log Message:
  -----------
  [flang][StackArrays] run in parallel on different functions (#108842)

Since #108562, StackArrays no longer has to create function declarations
at the module level to use stacksave/stackrestore LLVM intrinsics. This
will allow it to run in parallel on multiple functions at the same time.


  Commit: 270ee6549c9368b2ff86ef9794a7fd5e5496ef00
      https://github.com/llvm/llvm-project/commit/270ee6549c9368b2ff86ef9794a7fd5e5496ef00
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [Analysis][NFC] Clean-up in ScalarEvolution when copying predicates (#108851)

There are a few places in ScalarEvolution.cpp where we copy predicates
from one list to another and they have a similar pattern:

  for (const auto *P : ENT.Predicates)
    Predicates->push_back(P);

We can avoid the loop by writing them like this:

  Predicates->append(ENT.Predicates.begin(), ENT.Predicates.end());

which may end up being more efficient since we only have to try
reserving more space once.


  Commit: b39a100ff4ec16f1f9cafcc48ea7fed920726650
      https://github.com/llvm/llvm-project/commit/b39a100ff4ec16f1f9cafcc48ea7fed920726650
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/memory/main.cpp

  Log Message:
  -----------
  [lldb][lldb-dap] Remove unused includes in memory test

Added in 3acb1eac5eb6ef4e60dd64b7845615e076cc6a3e


  Commit: 64cfce95d38d6884d501fd1ece959e7809a94025
      https://github.com/llvm/llvm-project/commit/64cfce95d38d6884d501fd1ece959e7809a94025
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M mlir/docs/Dialects/OpenMPDialect/_index.md

  Log Message:
  -----------
  [MLIR][OpenMP][Docs] Document operand structures (NFC) (#108824)

This patch updates the OpenMP dialect top-level documentation to
describe the operand structures, when they can be used and how they are
automatically generated.


  Commit: 83220e9c2b370a985620fe90fa9acc9a473ba3fb
      https://github.com/llvm/llvm-project/commit/83220e9c2b370a985620fe90fa9acc9a473ba3fb
  Author: Daniel Bertalan <dani at danielbertalan.dev>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [gn build] Add llvm-cgdata dependency to check-lld

This ports f4763b3d2.


  Commit: 731a68383f0e0a38e727b839f92a225c5e809b45
      https://github.com/llvm/llvm-project/commit/731a68383f0e0a38e727b839f92a225c5e809b45
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

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

  Log Message:
  -----------
  [AMDGPU] Refine operand iterators in the SIInsertWaitcnts. NFCI. (#108884)


  Commit: bc8a5d104c69cee9cb9a870785da1eac62b58e32
      https://github.com/llvm/llvm-project/commit/bc8a5d104c69cee9cb9a870785da1eac62b58e32
  Author: Csanád Hajdú <csanad.hajdu at arm.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    A llvm/test/Transforms/SimplifyCFG/patchpoint-invalid-sink.ll
    M llvm/test/Verifier/intrinsic-immarg.ll

  Log Message:
  -----------
  [Patchpoint] Add immarg attributes to patchpoint arguments (#97276)


  Commit: 1fc288bf481726393c73133eef9aa73c0f78312e
      https://github.com/llvm/llvm-project/commit/1fc288bf481726393c73133eef9aa73c0f78312e
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/test/Transforms/debug-assumed-size-array.fir

  Log Message:
  -----------
  [flang][debug] Handle lower bound in assumed size arrays. (#108523)

Fixes #108411


  Commit: 1603f99a37c5b179a21dbb8000c39a471a950927
      https://github.com/llvm/llvm-project/commit/1603f99a37c5b179a21dbb8000c39a471a950927
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__algorithm/simd_utils.h

  Log Message:
  -----------
  [libc++] Explicitly convert to masks in SIMD code (#107983)

This makes it clearer when we use masks and avoids MSan complaining.


  Commit: b1d7694c128fd200a23f4494530aa3ae50fa76ce
      https://github.com/llvm/llvm-project/commit/b1d7694c128fd200a23f4494530aa3ae50fa76ce
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/test/Preprocessor/aarch64-target-features.c
    M clang/test/Preprocessor/init-aarch64.c

  Log Message:
  -----------
  [AArch64] Add missing ACLE predefined macros and update __ARM_ACLE. (#108857)

Adds __ARM_ACLE_VERSION and __FUNCTION_MULTI_VERSIONING_SUPPORT_LEVEL
as defined here https://github.com/ARM-software/acle/pull/301 and
here https://github.com/ARM-software/acle/pull/302.

Also bumps __ARM_ACLE to 202420.


  Commit: b6f72fc1e202c749333bd5b8ecb879d661af16b6
      https://github.com/llvm/llvm-project/commit/b6f72fc1e202c749333bd5b8ecb879d661af16b6
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/test/Transforms/debug-fn-info.fir

  Log Message:
  -----------
  [flang][debug] Generate correct subroutine type. (#108605)

We pass a list of types when creating a subroutine type. The first one
is supposed to be return type and the rest are the argument types. A
subroutine does not have a return type so an argument type could be
confused as a return type. To fix this, if there is no return type, we
generate a null type as a place holder.

Fixes #108564.


  Commit: 20c5432d0fb4ac852482141d89287e3fcc2d1278
      https://github.com/llvm/llvm-project/commit/20c5432d0fb4ac852482141d89287e3fcc2d1278
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Semantics/OpenMP/private-assoc.f90

  Log Message:
  -----------
  [flang][Semantics][OpenMP] Don't privatise associate names (#108856)

The associate name preserves the association with the selector
established in the associate statement. Therefore it is incorrect to
change the data-sharing attribute of the name.

Closes #58041


  Commit: 72901fe19eb1e55d0ee1c380ab7a9f57d2f187c5
      https://github.com/llvm/llvm-project/commit/72901fe19eb1e55d0ee1c380ab7a9f57d2f187c5
  Author: Csanád Hajdú <csanad.hajdu at arm.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    M llvm/test/CodeGen/AArch64/addsub-24bit-imm.mir
    M llvm/test/CodeGen/AArch64/arm64-bitfield-extract.ll
    M llvm/test/CodeGen/AArch64/arm64-ld-from-st.ll
    M llvm/test/CodeGen/AArch64/arm64_32.ll
    M llvm/test/CodeGen/AArch64/bitfield-extract.ll
    M llvm/test/CodeGen/AArch64/fast-isel-int-ext3.ll
    M llvm/test/CodeGen/AArch64/fast-isel-shift.ll
    M llvm/test/CodeGen/AArch64/machine_cse_impdef_killflags.ll
    M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
    M llvm/test/CodeGen/AArch64/xbfiz.ll
    M llvm/test/CodeGen/AArch64/zext-to-tbl.ll

  Log Message:
  -----------
  [AArch64] Fold UBFMXri to UBFMWri when it's an LSR or LSL alias (#106968)

Using the LSR or LSL aliases of UBFM can be faster on some CPUs, so it
is worth changing 64 bit UBFM instructions, that are equivalent to 32
bit LSR/LSL operations, to 32 bit variants.

This change folds the following patterns:
* If `Imms == 31` and `Immr <= Imms`:
   `UBFMXri %0, Immr, Imms`  ->  `UBFMWri %0.sub_32, Immr, Imms`
* If `Immr == Imms + 33`:
   `UBFMXri %0, Immr, Imms`  ->  `UBFMWri %0.sub_32, Immr - 32, Imms`


  Commit: 8411214c56eb3f9fb77fe3a9f156d4e6ef6cec06
      https://github.com/llvm/llvm-project/commit/8411214c56eb3f9fb77fe3a9f156d4e6ef6cec06
  Author: David Green <david.green at arm.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/vecreduce-bitext.ll

  Log Message:
  -----------
  [AArch64] Tests for vecreduce.or(sext(x)), with or/and/xor and sext/zext. NFC


  Commit: d38ec13be15eee2c26c9f402cfd25c9b13a0ecb7
      https://github.com/llvm/llvm-project/commit/d38ec13be15eee2c26c9f402cfd25c9b13a0ecb7
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-09-17 (Tue, 17 Sep 2024)

  Changed paths:
    M bolt/test/lit.local.cfg
    M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
    M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
    M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.cpp
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/LangStandards.def
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/LangStandards.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
    M clang/test/Driver/clang_f_opts.c
    A clang/test/ParserHLSL/hlsl_raw_buffer_attr.hlsl
    A clang/test/ParserHLSL/hlsl_raw_buffer_attr_error.hlsl
    M clang/test/Preprocessor/aarch64-target-features.c
    M clang/test/Preprocessor/init-aarch64.c
    M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
    M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
    M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
    M clang/test/SemaHLSL/Types/Arithmetic/literal_suffixes_202x.hlsl
    M clang/test/SemaHLSL/Types/Traits/IsIntangibleTypeErrors.hlsl
    M clang/test/SemaHLSL/Types/Traits/ScalarizedLayoutCompatibleErrors.hlsl
    M clang/test/SemaHLSL/group_shared.hlsl
    M clang/test/SemaHLSL/prohibit_reference.hlsl
    M clang/test/utils/update-verify-tests/lit.local.cfg
    M clang/www/cxx_dr_status.html
    M compiler-rt/lib/asan/asan_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Semantics/OpenMP/private-assoc.f90
    M flang/test/Transforms/debug-assumed-size-array.fir
    M flang/test/Transforms/debug-fn-info.fir
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__algorithm/simd_utils.h
    M lld/COFF/SymbolTable.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/test/COFF/arm64ec-import.test
    M lldb/include/lldb/Target/CoreFileMemoryRanges.h
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
    A lldb/test/API/tools/lldb-dap/locations/Makefile
    A lldb/test/API/tools/lldb-dap/locations/TestDAP_locations.py
    A lldb/test/API/tools/lldb-dap/locations/main.c
    M lldb/test/API/tools/lldb-dap/memory/main.cpp
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/JSONUtils.h
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperCompares.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/Support/FormatVariadic.cpp
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
    M llvm/lib/Target/X86/X86DomainReassignment.cpp
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrVecCompiler.td
    M llvm/lib/Target/X86/X86SchedIceLake.td
    M llvm/lib/Target/X86/X86SchedSapphireRapids.td
    M llvm/lib/Target/X86/X86SchedSkylakeServer.td
    M llvm/lib/Target/X86/X86ScheduleZnver4.td
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
    M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Analysis/ValueTracking/recurrence-knownbits.ll
    R llvm/test/Analysis/ValueTracking/shift-recurrence-knownbits.ll
    A llvm/test/CodeGen/AArch64/GlobalISel/combine-cannonicalize-fcmp.mir
    A llvm/test/CodeGen/AArch64/aarch64-sve2-faminmax.ll
    M llvm/test/CodeGen/AArch64/addsub-24bit-imm.mir
    M llvm/test/CodeGen/AArch64/arm64-bitfield-extract.ll
    M llvm/test/CodeGen/AArch64/arm64-ld-from-st.ll
    M llvm/test/CodeGen/AArch64/arm64_32.ll
    M llvm/test/CodeGen/AArch64/bitfield-extract.ll
    M llvm/test/CodeGen/AArch64/fast-isel-int-ext3.ll
    M llvm/test/CodeGen/AArch64/fast-isel-shift.ll
    M llvm/test/CodeGen/AArch64/machine_cse_impdef_killflags.ll
    M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
    A llvm/test/CodeGen/AArch64/vecreduce-bitext.ll
    M llvm/test/CodeGen/AArch64/xbfiz.ll
    M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
    M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
    M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
    M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll
    M llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll
    M llvm/test/CodeGen/NVPTX/f16-instructions.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/alu-roundtrip.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/iabs.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/alu_m-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rem-rv64.mir
    M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwadd-vp.ll
    R llvm/test/CodeGen/SPIRV/debug-info/basic-global-di.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-compilation-unit.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-type-basic.ll
    M llvm/test/CodeGen/Thumb2/mve-fp-negabs.ll
    M llvm/test/CodeGen/X86/apx/domain-reassignment.mir
    M llvm/test/CodeGen/X86/domain-reassignment.mir
    M llvm/test/CodeGen/X86/masked_compressstore_isel.ll
    M llvm/test/CodeGen/X86/masked_expandload_isel.ll
    A llvm/test/Instrumentation/sanitizers-naked.ll
    M llvm/test/MC/Disassembler/WebAssembly/wasm.txt
    M llvm/test/MC/WebAssembly/eh-assembly-legacy.s
    M llvm/test/MC/WebAssembly/func-end-errors.s
    M llvm/test/MC/WebAssembly/funcref-from-table.s
    M llvm/test/MC/WebAssembly/type-checker-br.s
    A llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll
    M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-multiply-recurrences.ll
    A llvm/test/Transforms/SimplifyCFG/patchpoint-invalid-sink.ll
    M llvm/test/Verifier/intrinsic-immarg.ll
    M llvm/tools/llvm-as/llvm-as.cpp
    M llvm/tools/llvm-cat/llvm-cat.cpp
    M llvm/unittests/Support/FormatVariadicTest.cpp
    M llvm/utils/gn/secondary/lld/test/BUILD.gn
    M mlir/docs/Dialects/OpenMPDialect/_index.md
    M mlir/lib/Debug/Observers/ActionProfiler.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
    M mlir/lib/Dialect/MLProgram/Transforms/PipelineGlobalOps.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/PDL/IR/PDL.cpp
    M mlir/lib/Dialect/Shape/Transforms/OutlineShapeComputation.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/Var.cpp
    M mlir/lib/Dialect/Traits.cpp
    M mlir/lib/Dialect/Transform/DebugExtension/DebugExtensionOps.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/ExecutionEngine/ExecutionEngine.cpp
    M mlir/lib/IR/Diagnostics.cpp
    M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
    M mlir/lib/Interfaces/RuntimeVerifiableOpInterface.cpp
    M mlir/lib/Pass/Pass.cpp
    M mlir/lib/Pass/PassCrashRecovery.cpp
    M mlir/lib/Query/Matcher/RegistryManager.cpp
    M mlir/lib/Query/QueryParser.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl

  Log Message:
  -----------
  Rebase, fix comment, remove extra parens

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/0a15015f5730...d38ec13be15e

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list