[all-commits] [llvm/llvm-project] 6fde04: [MachineSink] Disable if there are any irreducible...

Nikita Popov via All-commits all-commits at lists.llvm.org
Wed Mar 2 07:57:49 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6fde0439512580df793f3f48f95757b47de40d2b
      https://github.com/llvm/llvm-project/commit/6fde0439512580df793f3f48f95757b47de40d2b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-03-02 (Wed, 02 Mar 2022)

  Changed paths:
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/test/CodeGen/X86/callbr-asm-branch-folding.ll
    M llvm/test/CodeGen/X86/pr38795.ll
    M llvm/test/CodeGen/X86/pr53990-incorrect-machine-sink.ll
    M llvm/test/CodeGen/X86/x86-shrink-wrapping.ll

  Log Message:
  -----------
  [MachineSink] Disable if there are any irreducible cycles

This is an alternative to D120330, which disables MachineSink for
functions with irreducible cycles entirely. This avoids both the
correctness problem, and ensures we don't perform non-profitable
sinks into cycles. At the same time, it may also disable
profitable sinks in the same function. This can be made more
precise by using MachineCycleInfo in the future.

Fixes https://github.com/llvm/llvm-project/issues/53990.

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




More information about the All-commits mailing list