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

Paschalis Mpeis via All-commits all-commits at lists.llvm.org
Tue Apr 30 07:40:41 PDT 2024


  Branch: refs/heads/users/paschalis-mpeis/laa-vectorize-modf
  Home:   https://github.com/llvm/llvm-project
  Commit: d3ca209a7690d9ecbe188d8a2145177f43ed1951
      https://github.com/llvm/llvm-project/commit/d3ca209a7690d9ecbe188d8a2145177f43ed1951
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-04-30 (Tue, 30 Apr 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: 1dc1b5cb8e52761027d85edcd057ef57710d2699
      https://github.com/llvm/llvm-project/commit/1dc1b5cb8e52761027d85edcd057ef57710d2699
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-04-30 (Tue, 30 Apr 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: d7245a22ca9afe4c1e7ff52f6dfe8041689e014e
      https://github.com/llvm/llvm-project/commit/d7245a22ca9afe4c1e7ff52f6dfe8041689e014e
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

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


  Commit: 13a30ff4e84464cc215bede791ab968c41ef1b9e
      https://github.com/llvm/llvm-project/commit/13a30ff4e84464cc215bede791ab968c41ef1b9e
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-04-30 (Tue, 30 Apr 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: f1a2f835524d474729dfc86e502e52d3a411b7d0
      https://github.com/llvm/llvm-project/commit/f1a2f835524d474729dfc86e502e52d3a411b7d0
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

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

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


  Commit: 7e20927dfde045d777a60f468536761e99970ae0
      https://github.com/llvm/llvm-project/commit/7e20927dfde045d777a60f468536761e99970ae0
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    R clang/test/CodeGen/aarch64-veclib-function-calls-linear-ptrs.c
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    A llvm/test/Analysis/LoopAccessAnalysis/attr-mem-write-only.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls-linear-ptrs.ll

  Log Message:
  -----------
  Added LAA and LV tests

Removed C test.
Code rebased on top of patch that enables mappings for modf/modff
(among others).


  Commit: 4b7b976d16fc8cda5979a804a1085dbc1dcfc91f
      https://github.com/llvm/llvm-project/commit/4b7b976d16fc8cda5979a804a1085dbc1dcfc91f
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/attr-mem-write-only.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls-linear-ptrs.ll

  Log Message:
  -----------
  Addressing reviewers (2)


Compare: https://github.com/llvm/llvm-project/compare/7ff8089d35fd...4b7b976d16fc

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