[all-commits] [llvm/llvm-project] 29f11b: Simplified createFunctionType method

Paschalis Mpeis via All-commits all-commits at lists.llvm.org
Wed Dec 13 06:46:18 PST 2023


  Branch: refs/heads/users/paschalis-mpeis/replace-with-veclip-scalable-vec
  Home:   https://github.com/llvm/llvm-project
  Commit: 29f11b1f0ae6eb5a10cce3c3b87a68d41accb584
      https://github.com/llvm/llvm-project/commit/29f11b1f0ae6eb5a10cce3c3b87a68d41accb584
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2023-12-13 (Wed, 13 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/unittests/Analysis/VectorFunctionABITest.cpp

  Log Message:
  -----------
  Simplified createFunctionType method

It accepts ScalarFTy and VecRetTy. As the latter is not kept in VFABI,
it should instead come from the original Instruction/Callinst.

This change allows further simplification in tests. Also, methods like
the test `_ZGVnN3lLRUlnLnRnUn_foo`, which contains only scalar parameters,
would still return a valid FunctionType. This is an edge case that will
only be encountered in tests though.


  Commit: 97ea3b75d5f53ba0096c9ea560c86cbe2af12c70
      https://github.com/llvm/llvm-project/commit/97ea3b75d5f53ba0096c9ea560c86cbe2af12c70
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2023-12-13 (Wed, 13 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/unittests/Analysis/VectorFunctionABITest.cpp

  Log Message:
  -----------
  createFunctionType requires only VFInfo and ScalarFTy

Not returning a pair anymore as the position can be queries directly from
VFInfo, which createFunctionType needs to have as an argument to begin
with.

Also getting the return type from the ScalarFTy, as the specification
does not encode in the mangled name such information. Therefore, the
VFInfo does not hold such info. If that changes, then it will make its
way into VFInfo and one could get it from there.


  Commit: 545565804c4fff674c47607d4503a1f0b8fa3164
      https://github.com/llvm/llvm-project/commit/545565804c4fff674c47607d4503a1f0b8fa3164
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2023-12-13 (Wed, 13 Dec 2023)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/sleef-intrinsic-calls-aarch64.ll

  Log Message:
  -----------
  [NFC][TLI] Improve tests for ArmPL and SLEEF Intrinsics.

Auto-generate test `armpl-intrinsics.ll`, and use active lane mask to
have shorter `shufflevector` check lines.

Update scripts now add `@llvm.compiler.used` instead of using the regex:
`@[[LLVM_COMPILER_USED:[a-zA-Z0-9_$"\\.-]+]]`


  Commit: 8456e627b51bcf4f24d9ecb01ceb918534e3c6bc
      https://github.com/llvm/llvm-project/commit/8456e627b51bcf4f24d9ecb01ceb918534e3c6bc
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2023-12-13 (Wed, 13 Dec 2023)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/sleef-intrinsic-calls-aarch64.ll

  Log Message:
  -----------
  Add `simplifycfg` pass and `noalias` to ensure tail folding.

`noalias` attribute was added only to the `%in.ptr` parameter of the
ArmPL Intrinsics.


  Commit: 8301e2b909d9bab1394b0ffd15ed51b6f6d84f7b
      https://github.com/llvm/llvm-project/commit/8301e2b909d9bab1394b0ffd15ed51b6f6d84f7b
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2023-12-13 (Wed, 13 Dec 2023)

  Changed paths:
    M llvm/lib/Analysis/VFABIDemangling.cpp
    M llvm/lib/CodeGen/ReplaceWithVeclib.cpp
    M llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-armpl.ll
    M llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-sleef-scalable.ll

  Log Message:
  -----------
  [TLI] Pass replace-with-veclib works with Scalable Vectors.

The pass uses the Masked variant of TLI method when the Intrinsic
operates on Scalable Vectors and it fails to find a non-Masked variant.


  Commit: 34848d0cb1ee5ef62b8930da068a99b4aae9b710
      https://github.com/llvm/llvm-project/commit/34848d0cb1ee5ef62b8930da068a99b4aae9b710
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2023-12-13 (Wed, 13 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/ReplaceWithVeclib.cpp
    M llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-armpl.ll
    M llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-sleef-scalable.ll

  Log Message:
  -----------
  Use createFunctionType to correctly replace veclib calls.

Split replaceWithTLIFunction method into two methods.


Compare: https://github.com/llvm/llvm-project/compare/6f797921e23f...34848d0cb1ee


More information about the All-commits mailing list