[all-commits] [llvm/llvm-project] 5d5e95: [NFC][TLI] Improve tests for ArmPL and SLEEF Intri...

Paschalis Mpeis via All-commits all-commits at lists.llvm.org
Mon Dec 18 04:15:55 PST 2023


  Branch: refs/heads/users/paschalis-mpeis/replace-with-veclip-scalable-vec
  Home:   https://github.com/llvm/llvm-project
  Commit: 5d5e95655c1fdbe9baec1fd9c72325a1c7a0ae75
      https://github.com/llvm/llvm-project/commit/5d5e95655c1fdbe9baec1fd9c72325a1c7a0ae75
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2023-12-18 (Mon, 18 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: 722d2117c2da359979070b1b02887d496367fb65
      https://github.com/llvm/llvm-project/commit/722d2117c2da359979070b1b02887d496367fb65
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2023-12-18 (Mon, 18 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: 1e0f6fbf53537002d6183d38ace145e87e5f0986
      https://github.com/llvm/llvm-project/commit/1e0f6fbf53537002d6183d38ace145e87e5f0986
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2023-12-18 (Mon, 18 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: f52c4929167414e07229ec8a9d88d117060b96f4
      https://github.com/llvm/llvm-project/commit/f52c4929167414e07229ec8a9d88d117060b96f4
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2023-12-18 (Mon, 18 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.


  Commit: 433248433d412e6c09e9eed5ad87f08754204edb
      https://github.com/llvm/llvm-project/commit/433248433d412e6c09e9eed5ad87f08754204edb
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

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

  Log Message:
  -----------
  getVecDesc now prioritizes masked variant

Also further cleanup to address reviewers.


  Commit: 8082f46206a11e122f2ce965817dd7723cfe7b16
      https://github.com/llvm/llvm-project/commit/8082f46206a11e122f2ce965817dd7723cfe7b16
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/ReplaceWithVeclib.cpp

  Log Message:
  -----------
  Addressing review.

getTLIFunction is no longer an optional. It accepts a pointer for
ScalarFunc


Compare: https://github.com/llvm/llvm-project/compare/602b7e4a4891...8082f46206a1


More information about the All-commits mailing list