[all-commits] [llvm/llvm-project] 55bd12: [PowerPC] Remove implicit use register after trans...

bzEq via All-commits all-commits at lists.llvm.org
Thu Jul 8 21:43:09 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 55bd12d4b7eeed5d2909de4babaead12396c521c
      https://github.com/llvm/llvm-project/commit/55bd12d4b7eeed5d2909de4babaead12396c521c
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2021-07-09 (Fri, 09 Jul 2021)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    A llvm/test/CodeGen/PowerPC/remove-redundant-li-implicit-reg.mir

  Log Message:
  -----------
  [PowerPC] Remove implicit use register after transformToImmFormFedByLI()

When the instruction has imm form and fed by LI, we can remove the redundat LI instruction.
Below is an example:
```
    renamable $x5 = LI8 2
    renamable $x4 = exact SRD killed renamable $x4, killed renamable $r5, implicit $x5
```

will be converted to:
```
   renamable $x5 = LI8 2
   renamable $x4 = exact RLDICL killed renamable $x4, 62, 2,  implicit killed $x5
```

But when we do this optimization, we forget to remove implicit killed $x5
This bug has caused a lnt case error. This patch is to fix above bug.

Reviewed By: #powerpc, shchenz

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




More information about the All-commits mailing list