[llvm] [PowerPC][NFC] clean up if-else block in PPCRegisterInfo.cpp (PR #140084)
Lei Huang via llvm-commits
llvm-commits at lists.llvm.org
Tue May 20 13:20:42 PDT 2025
https://github.com/lei137 updated https://github.com/llvm/llvm-project/pull/140084
>From 179aed9e43d2c276c288a1e9a6914fe8782c908e Mon Sep 17 00:00:00 2001
From: Lei Huang <lei at ca.ibm.com>
Date: Thu, 15 May 2025 14:31:09 +0000
Subject: [PATCH 1/3] [PowerPC][NFC] clean up if-else block in
PPCRegisterInfo.cpp
---
llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp | 33 +++++++++++++--------
1 file changed, 20 insertions(+), 13 deletions(-)
diff --git a/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp b/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
index e1d9db0e3daa7..539da8069c75e 100644
--- a/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
+++ b/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
@@ -1635,37 +1635,44 @@ PPCRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
}
// Special case for pseudo-ops SPILL_CR and RESTORE_CR, etc.
- if (OpC == PPC::SPILL_CR) {
+ switch (OpC) {
+ case PPC::SPILL_CR:
lowerCRSpilling(II, FrameIndex);
return true;
- } else if (OpC == PPC::RESTORE_CR) {
+ case PPC::RESTORE_CR:
lowerCRRestore(II, FrameIndex);
return true;
- } else if (OpC == PPC::SPILL_CRBIT) {
+ case PPC::SPILL_CRBIT:
lowerCRBitSpilling(II, FrameIndex);
return true;
- } else if (OpC == PPC::RESTORE_CRBIT) {
+ case PPC::RESTORE_CRBIT:
lowerCRBitRestore(II, FrameIndex);
return true;
- } else if (OpC == PPC::SPILL_ACC || OpC == PPC::SPILL_UACC) {
+ case PPC::SPILL_ACC:
+ case PPC::SPILL_UACC:
lowerACCSpilling(II, FrameIndex);
return true;
- } else if (OpC == PPC::RESTORE_ACC || OpC == PPC::RESTORE_UACC) {
+ case PPC::RESTORE_ACC:
+ case PPC::RESTORE_UACC:
lowerACCRestore(II, FrameIndex);
return true;
- } else if (OpC == PPC::STXVP && DisableAutoPairedVecSt) {
- lowerOctWordSpilling(II, FrameIndex);
- return true;
- } else if (OpC == PPC::SPILL_WACC) {
+ case PPC::STXVP: {
+ if (DisableAutoPairedVecSt) {
+ lowerOctWordSpilling(II, FrameIndex);
+ return true;
+ }
+ break;
+ }
+ case PPC::SPILL_WACC:
lowerWACCSpilling(II, FrameIndex);
return true;
- } else if (OpC == PPC::RESTORE_WACC) {
+ case PPC::RESTORE_WACC:
lowerWACCRestore(II, FrameIndex);
return true;
- } else if (OpC == PPC::SPILL_QUADWORD) {
+ case PPC::SPILL_QUADWORD:
lowerQuadwordSpilling(II, FrameIndex);
return true;
- } else if (OpC == PPC::RESTORE_QUADWORD) {
+ case PPC::RESTORE_QUADWORD:
lowerQuadwordRestore(II, FrameIndex);
return true;
}
>From 05a3f483ee235d029ff31e3e77273374b92c9fe4 Mon Sep 17 00:00:00 2001
From: Lei Huang <lei at ca.ibm.com>
Date: Thu, 15 May 2025 14:44:31 +0000
Subject: [PATCH 2/3] move all if-else conditions into a switch stmt for spills
---
llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp | 42 ++++++++++-----------
1 file changed, 21 insertions(+), 21 deletions(-)
diff --git a/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp b/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
index 539da8069c75e..044bc2752d0f0 100644
--- a/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
+++ b/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
@@ -1610,33 +1610,33 @@ PPCRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
// Get the instruction opcode.
unsigned OpC = MI.getOpcode();
- if ((OpC == PPC::DYNAREAOFFSET || OpC == PPC::DYNAREAOFFSET8)) {
+ switch (OpC) {
+ case PPC::DYNAREAOFFSET:
+ case PPC::DYNAREAOFFSET8:
lowerDynamicAreaOffset(II);
// lowerDynamicAreaOffset erases II
return true;
+ case PPC::DYNALLOC:
+ case PPC::DYNALLOC8: {
+ // Special case for dynamic alloca.
+ if (FPSI && FrameIndex == FPSI) {
+ lowerDynamicAlloc(II); // lowerDynamicAlloc erases II
+ return true;
+ }
+ break;
}
-
- // Special case for dynamic alloca.
- if (FPSI && FrameIndex == FPSI &&
- (OpC == PPC::DYNALLOC || OpC == PPC::DYNALLOC8)) {
- lowerDynamicAlloc(II);
- // lowerDynamicAlloc erases II
- return true;
- }
-
- if (FPSI && FrameIndex == FPSI &&
- (OpC == PPC::PREPARE_PROBED_ALLOCA_64 ||
- OpC == PPC::PREPARE_PROBED_ALLOCA_32 ||
- OpC == PPC::PREPARE_PROBED_ALLOCA_NEGSIZE_SAME_REG_64 ||
- OpC == PPC::PREPARE_PROBED_ALLOCA_NEGSIZE_SAME_REG_32)) {
- lowerPrepareProbedAlloca(II);
- // lowerPrepareProbedAlloca erases II
- return true;
+ case PPC::PREPARE_PROBED_ALLOCA_64:
+ case PPC::PREPARE_PROBED_ALLOCA_32:
+ case PPC::PREPARE_PROBED_ALLOCA_NEGSIZE_SAME_REG_64:
+ case PPC::PREPARE_PROBED_ALLOCA_NEGSIZE_SAME_REG_32: {
+ if (FPSI && FrameIndex == FPSI) {
+ lowerPrepareProbedAlloca(II); // lowerPrepareProbedAlloca erases II
+ return true;
+ }
+ break;
}
-
- // Special case for pseudo-ops SPILL_CR and RESTORE_CR, etc.
- switch (OpC) {
case PPC::SPILL_CR:
+ // Special case for pseudo-ops SPILL_CR and RESTORE_CR, etc.
lowerCRSpilling(II, FrameIndex);
return true;
case PPC::RESTORE_CR:
>From dd05a1f64c26b74435ea1cb945b7ac03f8083748 Mon Sep 17 00:00:00 2001
From: Lei Huang <lei at ca.ibm.com>
Date: Tue, 20 May 2025 20:20:30 +0000
Subject: [PATCH 3/3] add default for switch
---
llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp b/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
index 044bc2752d0f0..51902ad218d1c 100644
--- a/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
+++ b/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
@@ -1611,6 +1611,8 @@ PPCRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
unsigned OpC = MI.getOpcode();
switch (OpC) {
+ default:
+ break;
case PPC::DYNAREAOFFSET:
case PPC::DYNAREAOFFSET8:
lowerDynamicAreaOffset(II);
More information about the llvm-commits
mailing list