[all-commits] [llvm/llvm-project] 09fe84: [AMDGPU] Move code sinking before structurizer

Piotr Sobczak via All-commits all-commits at lists.llvm.org
Tue May 11 05:35:05 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 09fe84abb4ee71f707c3ec8e960a42d8292f6211
      https://github.com/llvm/llvm-project/commit/09fe84abb4ee71f707c3ec8e960a42d8292f6211
  Author: Piotr Sobczak <Piotr.Sobczak at amd.com>
  Date:   2021-05-11 (Tue, 11 May 2021)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/loop_exit_with_xor.ll
    M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
    A llvm/test/CodeGen/AMDGPU/sink-image-sample.ll

  Log Message:
  -----------
  [AMDGPU] Move code sinking before structurizer

Moving code sinking pass before structurizer creates more sinking
opportunities.

The extra flow edges introduced by the structurizer can have adverse
effects on sinking, because the sinking pass prefers moving instructions
to blocks with unique predecessors and the structurizer destroys that
property in some cases.

A notable example is moving high-latency image instructions across kills.

Reviewed By: arsenm

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




More information about the All-commits mailing list