[all-commits] [llvm/llvm-project] 6370c7: AMDGPU: Limit the search in finding the instructio...

Changpeng Fang via All-commits all-commits at lists.llvm.org
Fri Feb 7 11:07:08 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 6370c7c13e6d7cfa70197e9a45033e2b845e1b9e
      https://github.com/llvm/llvm-project/commit/6370c7c13e6d7cfa70197e9a45033e2b845e1b9e
  Author: Changpeng Fang <changpeng.fang at gmail.com>
  Date:   2020-02-07 (Fri, 07 Feb 2020)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
    M llvm/test/CodeGen/AMDGPU/v_swap_b32.mir

  Log Message:
  -----------
  AMDGPU: Limit the search in finding the instruction pattern for v_swap generation.

Summary:
  Current implementation of matchSwap in SIShrinkInstructions searches the entire
use_nodbg_operands set to find the possible pattern to generate v_swap instruction.
This approach will lead to a O(N^3) in compile time for SIShrinkInstructions.

But in reality, the matching pattern only exists within nearby instructions in the
same basic block. This work limits the search to a maximum of 16 instructions, and has
a linear compile time comsumption.

Reviewers:
  rampitec, arsenm

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




More information about the All-commits mailing list