[all-commits] [llvm/llvm-project] 75b3a1: [MachineCopyPropagation] Extend MCP to do trivial ...

bzEq via All-commits all-commits at lists.llvm.org
Wed Dec 4 19:09:32 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 75b3a1c318ccad0f96c38689279bc5db63e2ad05
      https://github.com/llvm/llvm-project/commit/75b3a1c318ccad0f96c38689279bc5db63e2ad05
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2019-12-05 (Thu, 05 Dec 2019)

  Changed paths:
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/test/CodeGen/PowerPC/machine-backward-cp.mir
    M llvm/test/CodeGen/PowerPC/redundant-copy-after-tail-dup.ll
    M llvm/test/CodeGen/RISCV/alu64.ll
    M llvm/test/CodeGen/RISCV/shifts.ll
    M llvm/test/CodeGen/X86/fp128-i128.ll
    M llvm/test/CodeGen/X86/fshr.ll
    M llvm/test/CodeGen/X86/i128-mul.ll
    M llvm/test/CodeGen/X86/mul-i512.ll
    M llvm/test/CodeGen/X86/shift-i128.ll
    M llvm/test/CodeGen/X86/umulo-128-legalisation-lowering.ll

  Log Message:
  -----------
  [MachineCopyPropagation] Extend MCP to do trivial copy backward propagation

Summary:
This patch mainly do such transformation
```
$R0 = OP ...
... // No read/clobber of $R0 and $R1
$R1 = COPY $R0 // $R0 is killed
```
Replace $R0 with $R1 and remove the COPY, we have
```
$R1 = OP ...
```
This transformation can also expose more opportunities for existing
copy elimination in MCP.

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




More information about the All-commits mailing list