HomePhabricator

AMDGPU: Limit the search in finding the instruction pattern for v_swap…

Authored by cfang on Feb 6 2020, 4:40 PM.

Description

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