[all-commits] [llvm/llvm-project] fbe30c: LAA cannot vectorize lib calls like modf/modff

Paschalis Mpeis via All-commits all-commits at lists.llvm.org
Tue Feb 6 01:25:04 PST 2024


  Branch: refs/heads/users/paschalis-mpeis/laa-vectorize-modf
  Home:   https://github.com/llvm/llvm-project
  Commit: fbe30cfa2e9474241be71f334228bb811678d0a2
      https://github.com/llvm/llvm-project/commit/fbe30cfa2e9474241be71f334228bb811678d0a2
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-02-06 (Tue, 06 Feb 2024)

  Changed paths:
    A clang/test/CodeGen/aarch64-veclib-function-calls-linear-ptrs.c

  Log Message:
  -----------
  LAA cannot vectorize lib calls like modf/modff

Functions like modf/modff are math lib calls that set memory write-only
attribute. Given that a target has vectorized mappings, LAA should allow
vectorization.


  Commit: 80a86c8a75877cc1e00e2d72bc4ed424728ec6fc
      https://github.com/llvm/llvm-project/commit/80a86c8a75877cc1e00e2d72bc4ed424728ec6fc
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-02-06 (Tue, 06 Feb 2024)

  Changed paths:
    M clang/test/CodeGen/aarch64-veclib-function-calls-linear-ptrs.c
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp

  Log Message:
  -----------
  [LV][LAA] Vectorize math lib calls with mem write-only attribute

Teach LAA to consider safe specific math lib calls which are known to
have set the memory write-only attribute. Those attributes are set to
calls by inferNonMandatoryLibFuncAttrs, in BuildLibCalls.cpp, and the
current ones are modf/modff and frexp/frexpf.

This happens only when the calls are found through TLI to have
vectorized counterparts.


  Commit: a36008867cc147aebfb55e8a1cc15c990ef41f42
      https://github.com/llvm/llvm-project/commit/a36008867cc147aebfb55e8a1cc15c990ef41f42
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-02-06 (Tue, 06 Feb 2024)

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

  Log Message:
  -----------
  Add check for the 'memory(argmem: write)' attribute.


  Commit: 2a91269140aac18f96d60a393cbbe15101530db1
      https://github.com/llvm/llvm-project/commit/2a91269140aac18f96d60a393cbbe15101530db1
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-02-06 (Tue, 06 Feb 2024)

  Changed paths:
    M clang/test/CodeGen/aarch64-veclib-function-calls-linear-ptrs.c
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp

  Log Message:
  -----------
  Addressing reviewers


  Commit: a18b4fe57f6ac415652a68c8e967d01c1be357d3
      https://github.com/llvm/llvm-project/commit/a18b4fe57f6ac415652a68c8e967d01c1be357d3
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-02-06 (Tue, 06 Feb 2024)

  Changed paths:
    M clang/test/CodeGen/aarch64-veclib-function-calls-linear-ptrs.c

  Log Message:
  -----------
  Rebased and updated test after PR #80296


Compare: https://github.com/llvm/llvm-project/compare/db90ef59ddcf...a18b4fe57f6a


More information about the All-commits mailing list