[all-commits] [llvm/llvm-project] b77e40: [llvm][NFC] Fix typos: replace “avaliable” with “a...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Fri Nov 1 10:50:06 PDT 2024


  Branch: refs/heads/users/alexey-bataev/spr/lvenable-max-safe-distance-in-predicated-datawithevl-vectorization-mode
  Home:   https://github.com/llvm/llvm-project
  Commit: b77e40265caf1fc459b1c57ac495bbd48e1f7942
      https://github.com/llvm/llvm-project/commit/b77e40265caf1fc459b1c57ac495bbd48e1f7942
  Author: Wang Qiang <736242642 at qq.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/function-cognitive-complexity.cpp
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
    M llvm/include/llvm/Target/TargetMacroFusion.td
    M llvm/lib/CodeGen/SafeStack.cpp
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/test/MC/ARM/mve-fp-registers.s
    M mlir/lib/Bytecode/Reader/BytecodeReader.cpp

  Log Message:
  -----------
  [llvm][NFC] Fix typos: replace “avaliable” with “available” across various files (#114524)

This pull request corrects multiple occurrences of the typo "avaliable"
to "available" across the LLVM and Clang codebase. These changes improve
the clarity and accuracy of comments and documentation. Specific
modifications are in the following files:

1. clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp:
Updated comments in readability checks for cognitive complexity.
2. llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h: Corrected
documentation for JITDylib responsibilities.
3. llvm/include/llvm/Target/TargetMacroFusion.td: Fixed descriptions for
FusionPredicate variables.
4. llvm/lib/CodeGen/SafeStack.cpp: Improved comments on DominatorTree
availability.
5. llvm/lib/Target/RISCV/RISCVSchedSiFive7.td: Enhanced resource usage
descriptions for vector units.
6. llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp: Updated invariant
description in shift-detect idiom logic.
7. llvm/test/MC/ARM/mve-fp-registers.s: Amended ARM MVE register
availability notes.
8. mlir/lib/Bytecode/Reader/BytecodeReader.cpp: Adjusted forward
reference descriptions for bytecode reader operations.

These changes have no impact on code functionality, focusing solely on
documentation clarity.

Co-authored-by: wangqiang <wangqiang1 at kylinos.cn>


  Commit: 340cb3951e53bc90706b39c16cd5ec59ca963324
      https://github.com/llvm/llvm-project/commit/340cb3951e53bc90706b39c16cd5ec59ca963324
  Author: Edd Dawson <edd.dawson at sony.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/test/Driver/ps5-linker.c

  Log Message:
  -----------
  [PS5][Driver] Pass layout metrics to the linker (#114435)

Until now, these have been hardcoded as a downstream patches in lld. Add
them to the driver so that the private patches can be removed.

PS5 only. On PS4, the equivalent hardcoded configuration will remain in
the proprietary linker.

SIE tracker: TOOLCHAIN-16704


  Commit: 0f919444adfa74b46df50aa2da12e7137c23a02c
      https://github.com/llvm/llvm-project/commit/0f919444adfa74b46df50aa2da12e7137c23a02c
  Author: David Green <david.green at arm.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/Attributor/nofpclass-phiselect.ll
    M llvm/test/Transforms/EarlyCSE/nofpclass-phi-regression.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll

  Log Message:
  -----------
  [ValueTracking] Handle recursive phis in knownFPClass (#114008)

As a follow-on to 113686, this breaks the recursion between phi nodes
that have p1 = phi(x, p2) and p2 = phi(y, p1). The knownFPClass can be
calculated from the classes of p1 and p2.


  Commit: 88f8993591dbe02f718f2c028f5fbb5a9805c9cc
      https://github.com/llvm/llvm-project/commit/88f8993591dbe02f718f2c028f5fbb5a9805c9cc
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M libcxx/include/__format/formatter_floating_point.h
    M libcxx/include/__string/char_traits.h

  Log Message:
  -----------
  [libc++] Add a few missing includes


  Commit: f2019fc5cacc863049556f99f33f412b40ba469b
      https://github.com/llvm/llvm-project/commit/f2019fc5cacc863049556f99f33f412b40ba469b
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml

  Log Message:
  -----------
  [libc++] Upload CMakeConfigureLog artifacts (#114445)

This is helpful to debug CMake configuration issues such as the ones
that can happen when we build an external project (like
GoogleBenchmark).


  Commit: 23e2a0415dffde31833c0555add205919b562e2a
      https://github.com/llvm/llvm-project/commit/23e2a0415dffde31833c0555add205919b562e2a
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M libcxx/include/__format/formatter_floating_point.h

  Log Message:
  -----------
  [libc++] Fix dumb typo


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

  Changed paths:
    M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp

  Log Message:
  -----------
  [VPlan] Don't leak ScalarHeader BasicBlock in unit tests.


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

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.h
    A clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp

  Log Message:
  -----------
  [clang][bytecode] Implement bitcasts to floating-point values (#114485)


  Commit: e577f14b670ee2ae6bb717133310b215be4331b3
      https://github.com/llvm/llvm-project/commit/e577f14b670ee2ae6bb717133310b215be4331b3
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/saturating-add-sub.ll

  Log Message:
  -----------
  [InstCombine] Use `m_NotForbidPoison` when folding `(X u< Y) ? -1 : (~X + Y) --> uadd.sat(~X, Y)` (#114345)

Alive2: https://alive2.llvm.org/ce/z/mTGCo-
We cannot reuse `~X` if `m_AllOnes` matches a vector constant with some
poison elts. An alternative solution is to create a new not instead of
reusing `~X`. But it doesn't worth the effort because we need to add a
one-use check.

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


  Commit: a77dedcacb4c5eb221395b69877981dd6ad98989
      https://github.com/llvm/llvm-project/commit/a77dedcacb4c5eb221395b69877981dd6ad98989
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/div.ll
    M llvm/test/Transforms/InstCombine/rem.ll
    M llvm/test/Transforms/InstCombine/vector-udiv.ll
    M llvm/test/Transforms/InstSimplify/div.ll
    M llvm/test/Transforms/InstSimplify/rem.ll

  Log Message:
  -----------
  [InstSimplify][InstCombine][ConstantFold] Move vector div/rem by zero fold to InstCombine (#114280)

Previously we fold `div/rem X, C` into `poison` if any element of the
constant divisor `C` is zero or undef. However, it is incorrect when
threading udiv over an vector select:
https://alive2.llvm.org/ce/z/3Ninx5
```
define <2 x i32> @vec_select_udiv_poison(<2 x i1> %x) {
  %sel = select <2 x i1> %x, <2 x i32> <i32 -1, i32 -1>, <2 x i32> <i32 0, i32 1>
  %div = udiv <2 x i32> <i32 42, i32 -7>, %sel
  ret <2 x i32> %div
}
```
In this case, `threadBinOpOverSelect` folds `udiv <i32 42, i32 -7>, <i32
-1, i32 -1>` and `udiv <i32 42, i32 -7>, <i32 0, i32 1>` into
`zeroinitializer` and `poison`, respectively. One solution is to
introduce a new flag indicating that we are threading over a vector
select. But it requires to modify both `InstSimplify` and
`ConstantFold`.

However, this optimization doesn't provide benefits to real-world
programs:

https://dtcxzyw.github.io/llvm-opt-benchmark/coverage/data/zyw/opt-ci/actions-runner/_work/llvm-opt-benchmark/llvm-opt-benchmark/llvm/llvm-project/llvm/lib/IR/ConstantFold.cpp.html#L908

https://dtcxzyw.github.io/llvm-opt-benchmark/coverage/data/zyw/opt-ci/actions-runner/_work/llvm-opt-benchmark/llvm-opt-benchmark/llvm/llvm-project/llvm/lib/Analysis/InstructionSimplify.cpp.html#L1107

This patch moves the fold into InstCombine to avoid breaking numerous
existing tests.

Fixes #114191 and #113866 (only poison-safety issue).


  Commit: 58f525a23ca44f1acdb80ff803fb7b95acf8c7d3
      https://github.com/llvm/llvm-project/commit/58f525a23ca44f1acdb80ff803fb7b95acf8c7d3
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll

  Log Message:
  -----------
  [RISCV] Add tests for deinterleave shuffles w/o vnsrl.vv

With SEW=64, the vnsrl trick we primary rely on does not work.  This
is handled correctly today, but we have fairly minimal testing of the
resulting shuffles which makes it hard to demonstrate value of an
upcoming change.


  Commit: b74e588e1f460eb48ceb1a30cf8ac870b7537dcc
      https://github.com/llvm/llvm-project/commit/b74e588e1f460eb48ceb1a30cf8ac870b7537dcc
  Author: peterbell10 <peterbell10 at openai.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

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

  Log Message:
  -----------
  [NVPTX] Don't use stack memory when bitcasting to/from v2i8 (#113928)

`v2i8` is an unsupported type, so we hit the default legalization rules
which perform the bitcast in stack memory and is very inefficient on
GPU.

This adds a custom lowering where we pack `v2i8` into `i16` and from
there use another bitcast node to reach the final desired type. And also
the inverse unpacking `i16` into `v2i8`.


  Commit: 3494ee95902cef62f767489802e469c58a13ea04
      https://github.com/llvm/llvm-project/commit/3494ee95902cef62f767489802e469c58a13ea04
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

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

  Log Message:
  -----------
  Reapply [APInt] Enable APInt ctor assertion by default (#114539)

This enables the assertion introduced in
https://github.com/llvm/llvm-project/pull/106524, which checks that the
value passed to the constructor is indeed a valid N-bit signed or
unsigned integer.

Places that previously violated the assertion were updated in advance,
e.g. in https://github.com/llvm/llvm-project/pull/80309.

It is possible to opt-out of the check and restore the previous behavior
by setting implicitTrunc=true.

-----

The buildbot failures from the previous attempt should be fixed by
a18dd29077c84fc076a4ed431d9e815a3d0b6f24 and
e2074c60bb3982cd8afb6408670332ea27da6383.


  Commit: 19f2f67928650c998202a8b6ae14fd1091f43bf5
      https://github.com/llvm/llvm-project/commit/19f2f67928650c998202a8b6ae14fd1091f43bf5
  Author: Hervé Poussineau <hpoussin at reactos.org>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/include/llvm/Object/WindowsMachineFlag.h
    M llvm/include/llvm/ObjectYAML/COFFYAML.h
    M llvm/lib/Object/COFFObjectFile.cpp
    M llvm/lib/ObjectYAML/COFFYAML.cpp
    A llvm/test/tools/yaml2obj/COFF/basic-mips.yaml

  Log Message:
  -----------
  [yaml2obj][obj2yaml][objdump] Handle MIPS COFF files (#112591)

- handle IMAGE_FILE_MACHINE_R4000 machine type
- handle MIPS COFF relocations

llvm-objdump can now parse MIPS COFF files.


  Commit: e083a33478b2d570c89d7a9d9f05328b9232c072
      https://github.com/llvm/llvm-project/commit/e083a33478b2d570c89d7a9d9f05328b9232c072
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCArchitectures.cmake
    M libc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCFlagRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    A libc/config/linux/i386/entrypoints.txt
    A libc/config/linux/i386/headers.txt
    A libc/src/__support/OSUtil/linux/i386/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/i386/vdso.h

  Log Message:
  -----------
  [libc][cmake] make i386 distinct from x86_64 (#114477)

Configured via:

    $ cmake ../runtimes -G Ninja -DLLVM_ENABLE_LLD=ON \
      -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_RUNTIMES="libc" \
      -DLIBC_TARGET_TRIPLE=i386-linux-gnu -DCMAKE_C_COMPILER=clang \
      -DCMAKE_CXX_COMPILER=clang++

Link: #93709


  Commit: d97bc388fd9ef8bc38353f93ff42d894ddc4a271
      https://github.com/llvm/llvm-project/commit/d97bc388fd9ef8bc38353f93ff42d894ddc4a271
  Author: Ian Wood <75152913+IanWood1 at users.noreply.github.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/SliceAnalysis.h
    M mlir/lib/Analysis/SliceAnalysis.cpp
    M mlir/test/IR/slice.mlir
    M mlir/test/lib/IR/TestSlicing.cpp

  Log Message:
  -----------
  Reapply "Extend getBackwardSlice to track values captured… (#114452)

This commit fixes the failure in the original PR when building with
shared libs. The problem is that `visitUsedValuesDefinedAbove` is
defined in `MLIRTransformUtils`, but that lib depends on this lib
(`MLIRAnalysis`). To fix, I dropped the use of
`visitUsedValuesDefinedAbove` and use `Region::walk` to traverse values
defined above.

Reapplies PR https://github.com/llvm/llvm-project/pull/113478
Reverts PR https://github.com/llvm/llvm-project/pull/114432

This reverts commit a9a8351.


  Commit: 95fb7f8cb8a5fd6ceabb4d9aca8b0a17829777d1
      https://github.com/llvm/llvm-project/commit/95fb7f8cb8a5fd6ceabb4d9aca8b0a17829777d1
  Author: David Green <david.green at arm.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Features.td

  Log Message:
  -----------
  [AArch64] Move FeatureUseFixedOverScalableIfEqualCost with other tuning features. NFC

This was in the with the armv9 architecture extensions.


  Commit: 0b0b15309435df19a93fefbc556c57a83da0d3f6
      https://github.com/llvm/llvm-project/commit/0b0b15309435df19a93fefbc556c57a83da0d3f6
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/ast-print-openacc-loop-construct.cpp
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    A clang/test/SemaOpenACC/loop-construct-reduction-ast.cpp
    A clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'reduction' Sema on 'loop' construct

The reduction clause has some minor restrictions on the variable
references that are implementable, so this implements those.  Others
require reachability analysis, so this patch documents that we're not
going to do that in the CFE(or at least save it for the MLIR passes).


  Commit: d6a150137773bd1d104aa5a1847863a5138f14d9
      https://github.com/llvm/llvm-project/commit/d6a150137773bd1d104aa5a1847863a5138f14d9
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py

  Log Message:
  -----------
  [lldb] Skip TestDAP_completions on older versions of libcxx


  Commit: 69edef1ab9a2357b0e4fc2e245cf9c70177795d0
      https://github.com/llvm/llvm-project/commit/69edef1ab9a2357b0e4fc2e245cf9c70177795d0
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

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

  Log Message:
  -----------
  [DAG] Simplify control flow in SelectionDAGBuilder::visitShuffleVector [NFC]

If we've handled ==, and < above, the only case left can be >.  We don't
need to branch on this, and can instead assert and reduce indentation,
and simplify reasoning about the fallthrough path.


  Commit: ea33af63def2aff8a8ca13331dd99ac9541b2ce9
      https://github.com/llvm/llvm-project/commit/ea33af63def2aff8a8ca13331dd99ac9541b2ce9
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    A llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-load-store-pointers.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-global-old-legalization.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-local.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir

  Log Message:
  -----------
  Reapply "[AMDGPU][GlobalISel] Fix load/store of pointer vectors, buffer.*.pN (#110714)" v3 (#114443)

This reverts commit 8a849a2a567d4e519b246a16936b6e7519936d4b.

It seems I missed a spot when trying to ensure the code in the
instruction selection tests were actually legalized MIR.


  Commit: 10a1ea9b53647c1511d3cce8fa7637f8ffdb39b5
      https://github.com/llvm/llvm-project/commit/10a1ea9b53647c1511d3cce8fa7637f8ffdb39b5
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

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

  Log Message:
  -----------
  [NFC][AMDGPU] Remove the empty FPM as well as the adaptor to MPM (#114558)


  Commit: a6e72f93923378bffe13367f6dedd526ad39b184
      https://github.com/llvm/llvm-project/commit/a6e72f93923378bffe13367f6dedd526ad39b184
  Author: Manupa Karunaratne <manupa.karunaratne at amd.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseVectorization.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Vector/Transforms/LowerVectorStep.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Dialect/Linalg/vectorization-scalable.mlir
    M mlir/test/Dialect/Vector/canonicalize.mlir

  Log Message:
  -----------
  [MLIR][Vector] Add Lowering for vector.step (#113655)

Currently, the lowering for vector.step lives
under a folder. This is not ideal if we want
to do transformation on it and defer the
 materizaliztion of the constants much later.

This commits adds a rewrite pattern that
could be used by using
`transform.structured.vectorize_children_and_apply_patterns`
transform dialect operation.

Moreover, the rewriter of vector.step is also
now used in -convert-vector-to-llvm pass where
it handles scalable and non-scalable types as
LLVM expects it.

As a consequence of removing the vector.step
lowering as its folder, linalg vectorization
will keep vector.step intact.


  Commit: b57b3f64253a57831a5e5f4e6557d2f9cb01d017
      https://github.com/llvm/llvm-project/commit/b57b3f64253a57831a5e5f4e6557d2f9cb01d017
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M clang/test/CodeGenSYCL/unique_stable_name_windows_diff.cpp
    M clang/test/SemaCXX/ext-vector-type-conditional.cpp
    M clang/test/SemaCXX/vector-size-conditional.cpp
    M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
    M compiler-rt/test/ctx_profile/TestCases/check-same-ctx-node.test
    M libc/docs/gpu/rpc.rst
    M llvm/include/llvm/MCA/HardwareUnits/LSUnit.h
    M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
    M llvm/lib/Target/X86/X86.h
    M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
    M openmp/runtime/src/kmp_stats.h

  Log Message:
  -----------
  [NFC] Simple typo correction. (#114548)


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

  Changed paths:
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll

  Log Message:
  -----------
  [RISCV] Add tests for length changing shuffles

Tests taken from Luke's 88147 with minimal changes by me (preames).

The main case of interest here is when mask length is less than source
length (i.e. length is decreasing).  We often scalarize these, which
on RISCV can be quite painful.


  Commit: 64314dedebfcb03cc5bdc819513218304c892863
      https://github.com/llvm/llvm-project/commit/64314dedebfcb03cc5bdc819513218304c892863
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/lib/Analysis/InlineCost.cpp
    M llvm/test/Transforms/Inline/inline-cost-annotation-pass.ll

  Log Message:
  -----------
  [InlineCost] Print inline cost for invoke call sites as well (#114476)

Previously InlineCostAnnotationPrinter only prints inline cost for call
instructions. I don't think there is any reason not to analyze invoke
and its callee, and this patch adds such support.


  Commit: d301b59b7b4582b0119281308e86b7c0b3f77a54
      https://github.com/llvm/llvm-project/commit/d301b59b7b4582b0119281308e86b7c0b3f77a54
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M libcxx/include/__functional/hash.h

  Log Message:
  -----------
  [libc++][NFC] Add a static assertion to document an assumption in std::hash (#114440)

The implementation of std::hash for unsigned long makes the (correct)
assumption that size_t is at least as large as unsigned long. If that
were not the case on a platform, the implementation of std::hash for
unsigned long would be absolutely terrible. Add a static assertion to
document that assumption.


  Commit: 8e61aaa0211a7d064139f29bebba833b7f3d1d18
      https://github.com/llvm/llvm-project/commit/8e61aaa0211a7d064139f29bebba833b7f3d1d18
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    A llvm/test/CodeGen/AMDGPU/commute-frame-index-operand.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-u32.mir

  Log Message:
  -----------
  AMDGPU: Fix illegal commute with frame index (#114497)

In ca409892c5396fa3fbb8ea4dbf53d0e952f36d09, frame indexes started
being treated more like registers, rather than immediates. Update
the commute logic to avoid failing the verifier by moving illegal
SGPR operands in place of a frame index.


  Commit: 718d50d6d03449962b14a3c8357a6ee3fa145f36
      https://github.com/llvm/llvm-project/commit/718d50d6d03449962b14a3c8357a6ee3fa145f36
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/pr50392.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll

  Log Message:
  -----------
  [VectorCombine] foldPermuteOfBinops - prefer the new fold for matching costs.

Minor tweak to #114101 - as we're reducing the instruction count, we should prefer the fold if the old/new costs are the same.


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

  Changed paths:
    M flang/include/flang/Runtime/assign.h
    M flang/runtime/assign.cpp

  Log Message:
  -----------
  [flang][runtime][NFC] Allow different memmove function in assign (#114301)

- Add a parameter to the `Assign` function to be able to use a different
`memmove` function. This is preparatory work to be able to use the
`Assign` function between host and device data.
- Expose the `Assign` function so it can be used from different files. 

- The new `memmoveFct` is not used in `BlankPadCharacterAssignment` yet
since it is not clear if there is a need. It will be updated in case it
is needed.


  Commit: 841227a5d9326dd99fb8ac8d26ded9a3c56dd46d
      https://github.com/llvm/llvm-project/commit/841227a5d9326dd99fb8ac8d26ded9a3c56dd46d
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
    M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_comdat_associative_dead_strip.test
    M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_pdata_strip.s

  Log Message:
  -----------
  Re-apply "Revert "[JITLink] Use MapVector to stabilize iteration.."" with fixes.

This re-applies 244ea406259, which was reverted in 0019d061854 while I
investigated a bot failure. The fix for the failure will be committed as a
follow-up.


  Commit: f04aaf948204068276f57dbcba5734c53382c7e2
      https://github.com/llvm/llvm-project/commit/f04aaf948204068276f57dbcba5734c53382c7e2
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp

  Log Message:
  -----------
  [ORC][ELF] Process .init_array sections in priority order.

Fixes compiler-rt/test/orc/TestCases/Linux/x86-64/priority-static-initializer.S
testcase after 244ea406259. This testcase had been succeeding because the
definition order of the .init_array sections in the testcase matched their
priorities, but began failing once 244ea406259 removed that guarantee. The
proper fix is to visit the .init_array sections according to their priority
order, regardless of how they're defined in the file.

This fixes the single-file testcase, but I think that ELFNixPlatform will need
to be extended to make priorities work correctly across file boundaries.


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

  Changed paths:
    M flang/include/flang/Runtime/assign.h
    M flang/runtime/assign.cpp

  Log Message:
  -----------
  Revert "[flang][runtime][NFC] Allow different memmove function in assign" (#114581)

Reverts llvm/llvm-project#114301


  Commit: 9ae7d31afa79cdfe395b4c6957a768a3539a762d
      https://github.com/llvm/llvm-project/commit/9ae7d31afa79cdfe395b4c6957a768a3539a762d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-11-01 (Fri, 01 Nov 2024)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml
    M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/function-cognitive-complexity.cpp
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    A clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp
    M clang/test/AST/ast-print-openacc-loop-construct.cpp
    M clang/test/CodeGenSYCL/unique_stable_name_windows_diff.cpp
    M clang/test/Driver/ps5-linker.c
    M clang/test/SemaCXX/ext-vector-type-conditional.cpp
    M clang/test/SemaCXX/vector-size-conditional.cpp
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    A clang/test/SemaOpenACC/loop-construct-reduction-ast.cpp
    A clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp
    M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
    M compiler-rt/test/ctx_profile/TestCases/check-same-ctx-node.test
    M libc/cmake/modules/LLVMLibCArchitectures.cmake
    M libc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCFlagRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    A libc/config/linux/i386/entrypoints.txt
    A libc/config/linux/i386/headers.txt
    M libc/docs/gpu/rpc.rst
    A libc/src/__support/OSUtil/linux/i386/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/i386/vdso.h
    M libcxx/include/__format/formatter_floating_point.h
    M libcxx/include/__functional/hash.h
    M libcxx/include/__string/char_traits.h
    M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
    M llvm/include/llvm/ADT/APInt.h
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
    M llvm/include/llvm/MCA/HardwareUnits/LSUnit.h
    M llvm/include/llvm/Object/WindowsMachineFlag.h
    M llvm/include/llvm/ObjectYAML/COFFYAML.h
    M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
    M llvm/include/llvm/Target/TargetMacroFusion.td
    M llvm/lib/Analysis/InlineCost.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/SafeStack.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/Object/COFFObjectFile.cpp
    M llvm/lib/ObjectYAML/COFFYAML.cpp
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/X86/X86.h
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    A llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-load-store-pointers.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-global-old-legalization.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-local.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
    A llvm/test/CodeGen/AMDGPU/commute-frame-index-operand.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-u32.mir
    A llvm/test/CodeGen/NVPTX/i8x2-instructions.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
    M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_comdat_associative_dead_strip.test
    M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_pdata_strip.s
    M llvm/test/MC/ARM/mve-fp-registers.s
    M llvm/test/Transforms/Attributor/nofpclass-phiselect.ll
    M llvm/test/Transforms/EarlyCSE/nofpclass-phi-regression.ll
    M llvm/test/Transforms/Inline/inline-cost-annotation-pass.ll
    M llvm/test/Transforms/InstCombine/div.ll
    M llvm/test/Transforms/InstCombine/rem.ll
    M llvm/test/Transforms/InstCombine/saturating-add-sub.ll
    M llvm/test/Transforms/InstCombine/vector-udiv.ll
    M llvm/test/Transforms/InstSimplify/div.ll
    M llvm/test/Transforms/InstSimplify/rem.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr50392.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll
    A llvm/test/tools/yaml2obj/COFF/basic-mips.yaml
    M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
    M mlir/include/mlir/Analysis/SliceAnalysis.h
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
    M mlir/lib/Analysis/SliceAnalysis.cpp
    M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseVectorization.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Vector/Transforms/LowerVectorStep.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Dialect/Linalg/vectorization-scalable.mlir
    M mlir/test/Dialect/Vector/canonicalize.mlir
    M mlir/test/IR/slice.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
    M mlir/test/lib/IR/TestSlicing.cpp
    M openmp/runtime/src/kmp_stats.h

  Log Message:
  -----------
  Fix formatting

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/254d2eb2feb4...9ae7d31afa79

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