[all-commits] [llvm/llvm-project] 5b648d: AMDGPU: Reduce the number of expensive calls in SI...

Changpeng Fang via All-commits all-commits at lists.llvm.org
Mon Jan 25 16:09:14 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5b648df1a842fba1fa47fdfa0936694573df02d2
      https://github.com/llvm/llvm-project/commit/5b648df1a842fba1fa47fdfa0936694573df02d2
  Author: Changpeng Fang <Changpeng.Fang at amd.com>
  Date:   2021-01-25 (Mon, 25 Jan 2021)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp

  Log Message:
  -----------
  AMDGPU: Reduce the number of expensive calls in SIFormMemoryClause

Summary:
  RPTracker::reset(MI) is a very expensive call when the number of virtual registers is huge.
We observed a long compilation time issue when RPT::reset() is called once for each cluster.

In this work, we call RPT.reset() only at the first seen cluster, and use advance() to get
the register pressure for the later clusters in the same basic block. This could effectively reduce the number
of the expensive calls and thus reduce the compile time.

Reviewers:
  rampitec

Fixes:
  SWDEV-239161

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




More information about the All-commits mailing list