diff options
author | Lei Huang <lei@ca.ibm.com> | 2024-07-16 11:46:37 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-16 11:46:37 -0400 |
commit | 266a784cce959d475d3d79a877f0c5f39194a4c4 (patch) | |
tree | bc7b3858d2917c1ce173a9a737d2054cc895367f /llvm/lib/Target/PowerPC | |
parent | 26098fe4b892cab75c56f7779dfe4dfe40615784 (diff) | |
download | llvm-266a784cce959d475d3d79a877f0c5f39194a4c4.zip llvm-266a784cce959d475d3d79a877f0c5f39194a4c4.tar.gz llvm-266a784cce959d475d3d79a877f0c5f39194a4c4.tar.bz2 |
[PowerPC] Ensure MI peephole knows about instr modified by combineRLWINM() (#97134)
Ensure registers used in instructions modified by `combineRLWINM()` are
added to list of `RegsToUpdate`.
Diffstat (limited to 'llvm/lib/Target/PowerPC')
-rw-r--r-- | llvm/lib/Target/PowerPC/PPCMIPeephole.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCMIPeephole.cpp b/llvm/lib/Target/PowerPC/PPCMIPeephole.cpp index 535a54a..b8abee7 100644 --- a/llvm/lib/Target/PowerPC/PPCMIPeephole.cpp +++ b/llvm/lib/Target/PowerPC/PPCMIPeephole.cpp @@ -1291,6 +1291,10 @@ bool PPCMIPeephole::simplifyCode() { addRegToUpdate(OrigOp1Reg); if (MI.getOperand(1).isReg()) addRegToUpdate(MI.getOperand(1).getReg()); + if (ToErase && ToErase->getOperand(1).isReg()) + for (auto UseReg : ToErase->explicit_uses()) + if (UseReg.isReg()) + addRegToUpdate(UseReg.getReg()); ++NumRotatesCollapsed; } break; |