[all-commits] [llvm/llvm-project] 6a05c6: [MachineCopyPropagation] BackwardPropagatableCopy:...

simonwallis2 via All-commits all-commits at lists.llvm.org
Wed Jul 29 08:22:10 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 6a05c6bfc8d363a6d3d6cd7015d0e6fc01a91ce2
      https://github.com/llvm/llvm-project/commit/6a05c6bfc8d363a6d3d6cd7015d0e6fc01a91ce2
  Author: Simon Wallis <simon.wallis2 at arm.com>
  Date:   2020-07-29 (Wed, 29 Jul 2020)

  Changed paths:
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    A llvm/test/CodeGen/ARM/mcp-dest-regs-no-dup.mir

  Log Message:
  -----------
  [MachineCopyPropagation] BackwardPropagatableCopy: add check for hasOverlappingMultipleDef

In MachineCopyPropagation::BackwardPropagatableCopy(),
a check is added for multiple destination registers.

The copy propagation is avoided if the copied destination register
is the same register as another destination on the same instruction.

A new test is added.  This used to fail on ARM like this:
error: unpredictable instruction, RdHi and RdLo must be different
        umull   r9, r9, lr, r0

Reviewed By: lkail

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




More information about the All-commits mailing list