aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/PowerPC
diff options
context:
space:
mode:
authorLei Huang <lei@ca.ibm.com>2024-07-16 11:46:37 -0400
committerGitHub <noreply@github.com>2024-07-16 11:46:37 -0400
commit266a784cce959d475d3d79a877f0c5f39194a4c4 (patch)
treebc7b3858d2917c1ce173a9a737d2054cc895367f /llvm/lib/Target/PowerPC
parent26098fe4b892cab75c56f7779dfe4dfe40615784 (diff)
downloadllvm-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.cpp4
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;