[all-commits] [llvm/llvm-project] f5e492: AMDGPU: fix isSafeToSink expecting exactly one pre...

Petar Avramovic via All-commits all-commits at lists.llvm.org
Fri May 10 04:02:28 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f5e49279c01436971001e107a0a3435510b9ae98
      https://github.com/llvm/llvm-project/commit/f5e49279c01436971001e107a0a3435510b9ae98
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2024-05-10 (Fri, 10 May 2024)

  Changed paths:
    M llvm/include/llvm/ADT/GenericCycleImpl.h
    M llvm/include/llvm/ADT/GenericCycleInfo.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    A llvm/test/CodeGen/AMDGPU/GlobalISel/is-safe-to-sink-bug.ll

  Log Message:
  -----------
  AMDGPU: fix isSafeToSink expecting exactly one predecessor (#89224)

isSafeToSink needs to check if machine cycle has divergent exit branch
but first it needs the MBB that contains cycle exit branch.
Early-tailduplication can delete exit block created by structurize-cfg
so there is still exactly one cycle exit block but the new cycle exit
block can have multiple predecessors.
Simplify search for MBBs that contain cycle exit branch by introducing
helper method getExitingBlocks in GenericCycle.

Fixes #89200



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list