[llvm] cea9dd8 - [CodeGen] Change MachineInstr::isConstantValuePHI to return Register. NFC. (#112901)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 30 04:59:02 PDT 2024
Author: Jay Foad
Date: 2024-10-30T11:58:59Z
New Revision: cea9dd833cf800aeb005286b2667483cc5a8d688
URL: https://github.com/llvm/llvm-project/commit/cea9dd833cf800aeb005286b2667483cc5a8d688
DIFF: https://github.com/llvm/llvm-project/commit/cea9dd833cf800aeb005286b2667483cc5a8d688.diff
LOG: [CodeGen] Change MachineInstr::isConstantValuePHI to return Register. NFC. (#112901)
Added:
Modified:
llvm/include/llvm/CodeGen/MachineInstr.h
llvm/lib/CodeGen/MachineInstr.cpp
llvm/lib/CodeGen/MachineSSAUpdater.cpp
Removed:
################################################################################
diff --git a/llvm/include/llvm/CodeGen/MachineInstr.h b/llvm/include/llvm/CodeGen/MachineInstr.h
index 76a7b8662bae66..36051732474634 100644
--- a/llvm/include/llvm/CodeGen/MachineInstr.h
+++ b/llvm/include/llvm/CodeGen/MachineInstr.h
@@ -1764,8 +1764,8 @@ class MachineInstr
bool isDereferenceableInvariantLoad() const;
/// If the specified instruction is a PHI that always merges together the
- /// same virtual register, return the register, otherwise return 0.
- unsigned isConstantValuePHI() const;
+ /// same virtual register, return the register, otherwise return Register().
+ Register isConstantValuePHI() const;
/// Return true if this instruction has side effects that are not modeled
/// by mayLoad / mayStore, etc.
diff --git a/llvm/lib/CodeGen/MachineInstr.cpp b/llvm/lib/CodeGen/MachineInstr.cpp
index 0d78c2cafbaf63..c1bd0bb5b7162e 100644
--- a/llvm/lib/CodeGen/MachineInstr.cpp
+++ b/llvm/lib/CodeGen/MachineInstr.cpp
@@ -1535,19 +1535,16 @@ bool MachineInstr::isDereferenceableInvariantLoad() const {
return true;
}
-/// isConstantValuePHI - If the specified instruction is a PHI that always
-/// merges together the same virtual register, return the register, otherwise
-/// return 0.
-unsigned MachineInstr::isConstantValuePHI() const {
+Register MachineInstr::isConstantValuePHI() const {
if (!isPHI())
- return 0;
+ return {};
assert(getNumOperands() >= 3 &&
"It's illegal to have a PHI without source operands");
Register Reg = getOperand(1).getReg();
for (unsigned i = 3, e = getNumOperands(); i < e; i += 2)
if (getOperand(i).getReg() != Reg)
- return 0;
+ return {};
return Reg;
}
diff --git a/llvm/lib/CodeGen/MachineSSAUpdater.cpp b/llvm/lib/CodeGen/MachineSSAUpdater.cpp
index c7a673b12d8c50..f0a136751bbffa 100644
--- a/llvm/lib/CodeGen/MachineSSAUpdater.cpp
+++ b/llvm/lib/CodeGen/MachineSSAUpdater.cpp
@@ -201,7 +201,7 @@ Register MachineSSAUpdater::GetValueInMiddleOfBlock(MachineBasicBlock *BB,
// See if the PHI node can be merged to a single value. This can happen in
// loop cases when we get a PHI of itself and one other value.
- if (unsigned ConstVal = InsertedPHI->isConstantValuePHI()) {
+ if (Register ConstVal = InsertedPHI->isConstantValuePHI()) {
InsertedPHI->eraseFromParent();
return ConstVal;
}
More information about the llvm-commits
mailing list