[all-commits] [llvm/llvm-project] 8a5858: [TwoAddressInstruction][PowerPC] Call `regOverlaps...

bzEq via All-commits all-commits at lists.llvm.org
Thu Oct 8 19:35:12 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 8a5858c8fd50e6f5767a21854951c3ccba17e8c4
      https://github.com/llvm/llvm-project/commit/8a5858c8fd50e6f5767a21854951c3ccba17e8c4
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2020-10-09 (Fri, 09 Oct 2020)

  Changed paths:
    M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
    A llvm/test/CodeGen/PowerPC/pr47707.ll

  Log Message:
  -----------
  [TwoAddressInstruction][PowerPC] Call `regOverlapsSet` to find out real clobbers and uses

In `rescheduleKillAboveMI`, current implementation uses `SmallSet` to track reg's defs and uses. When comparing, use `SmallSet.count` to find out if it's clobbered or used. It's not correct if involving subregisters. This patch uses `regOverlapsSet` already used by `rescheduleMIBelowKill` to fix the issue.

Fixed https://bugs.llvm.org/show_bug.cgi?id=47707.

Reviewed By: #powerpc, nemanjai

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




More information about the All-commits mailing list