[all-commits] [llvm/llvm-project] 37ae4a: [SLP]Support minbitwidth analisys for buildvector ...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Mon Apr 29 06:58:00 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 37ae4ad0eef338776c7e2cffb3896153d43dcd90
      https://github.com/llvm/llvm-project/commit/37ae4ad0eef338776c7e2cffb3896153d43dcd90
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/user-node-not-in-bitwidths.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-with-multi-users.ll

  Log Message:
  -----------
  [SLP]Support minbitwidth analisys for buildvector nodes.

Metric: size..text

Program                                                                                                                                                size..text
                                                                                                                                                       exp           ref        diff
                                                                                  test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test    42906.00    42986.00  0.2%
                                                                           test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test    42909.00    42989.00  0.2%
                                                                                   test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test   664581.00   664661.00  0.0%
                                                                                  test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test   664581.00   664661.00  0.0%

Less is better.

Replaces `buildvector <p x in> + trunc <p x in> to <p x im>` sequences to
`buildvector <p x im> of { trunc in to im }` scalars, which is free in
most cases, results in better code.

Reviewers: RKSimon

Reviewed By: RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/88504



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