[all-commits] [llvm/llvm-project] 4a32cd: [AMDGPU] Remove unnecessary v_mov from a register ...

Michael Bedy via All-commits all-commits at lists.llvm.org
Fri Jan 10 20:02:22 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 4a32cd11acd7c38f5e0b587d724935ab7a9938a6
      https://github.com/llvm/llvm-project/commit/4a32cd11acd7c38f5e0b587d724935ab7a9938a6
  Author: Michael Bedy <mjbedy at gmail.com>
  Date:   2020-01-10 (Fri, 10 Jan 2020)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/test/CodeGen/AMDGPU/wqm.ll
    M llvm/test/CodeGen/AMDGPU/wqm.mir

  Log Message:
  -----------
  [AMDGPU] Remove unnecessary v_mov from a register to itself in WQM lowering.

Summary:
- SI Whole Quad Mode phase is replacing WQM pseudo instructions with v_mov instructions.
While this is necessary for the special handling of moving results out of WWM live ranges,
it is not necessary for WQM live ranges. The result is a v_mov from a register to itself after every
WQM operation. This change uses a COPY psuedo in these cases, which allows the register
allocator to coalesce the moves away.

Reviewers: tpr, dstuttard, foad, nhaehnle

Reviewed By: nhaehnle

Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits

Tags: #llvm

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




More information about the All-commits mailing list