[all-commits] [llvm/llvm-project] a08fc1: [PowerPC] Change VSRpRC allocation order

Qiu Chaofan via All-commits all-commits at lists.llvm.org
Fri Jun 25 01:05:42 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a08fc1361aa307874045edde8c7af7642f4713a0
      https://github.com/llvm/llvm-project/commit/a08fc1361aa307874045edde8c7af7642f4713a0
  Author: Qiu Chaofan <qiucofan at cn.ibm.com>
  Date:   2021-06-25 (Fri, 25 Jun 2021)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
    M llvm/test/CodeGen/PowerPC/dform-pair-load-store.ll
    M llvm/test/CodeGen/PowerPC/loop-p10-pair-prepare.ll
    M llvm/test/CodeGen/PowerPC/mma-acc-memops.ll
    M llvm/test/CodeGen/PowerPC/mma-acc-spill.ll
    M llvm/test/CodeGen/PowerPC/mma-intrinsics.ll
    M llvm/test/CodeGen/PowerPC/mma-outer-product.ll
    M llvm/test/CodeGen/PowerPC/mma-phi-accs.ll
    M llvm/test/CodeGen/PowerPC/more-dq-form-prepare.ll
    M llvm/test/CodeGen/PowerPC/paired-vector-intrinsics.ll
    M llvm/test/CodeGen/PowerPC/spill-vec-pair.ll

  Log Message:
  -----------
  [PowerPC] Change VSRpRC allocation order

On PowerPC, VSRpRC represents the pairs of even and odd VSX register,
and VRRC corresponds to higher 32 VSX registers. In some cases, extra
copies are produced when handling incoming VRRC arguments with VSRpRC.

This patch changes allocation order of VSRpRC to eliminate this kind of
copy.

Stack frame sizes may increase if allocating non-volatile registers, and
some other vector copies happen. They need fix in future changes.

Reviewed By: nemanjai

Differential Revision: https://reviews.llvm.org/D104855




More information about the All-commits mailing list