[llvm] 44f30c8 - [SandboxIR][NFC] Use Tracker.emplaceIfTracking()
Vasileios Porpodas via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 9 16:05:22 PDT 2024
Author: Vasileios Porpodas
Date: 2024-08-09T16:04:56-07:00
New Revision: 44f30c80195d4817bc9fdefa1759372769b663e2
URL: https://github.com/llvm/llvm-project/commit/44f30c80195d4817bc9fdefa1759372769b663e2
DIFF: https://github.com/llvm/llvm-project/commit/44f30c80195d4817bc9fdefa1759372769b663e2.diff
LOG: [SandboxIR][NFC] Use Tracker.emplaceIfTracking()
This patch replaces some of the remaining uses of Tracker::track() to
Tracker::emplaceIfTracking().
Added:
Modified:
llvm/include/llvm/SandboxIR/Tracker.h
llvm/lib/SandboxIR/SandboxIR.cpp
llvm/lib/SandboxIR/Tracker.cpp
Removed:
################################################################################
diff --git a/llvm/include/llvm/SandboxIR/Tracker.h b/llvm/include/llvm/SandboxIR/Tracker.h
index dea09f547b0be4..9c9ce89ba87252 100644
--- a/llvm/include/llvm/SandboxIR/Tracker.h
+++ b/llvm/include/llvm/SandboxIR/Tracker.h
@@ -97,7 +97,7 @@ class UseSet : public IRChangeBase {
};
class PHISetIncoming : public IRChangeBase {
- PHINode Φ
+ PHINode *PHI;
unsigned Idx;
PointerUnion<Value *, BasicBlock *> OrigValueOrBB;
@@ -106,7 +106,7 @@ class PHISetIncoming : public IRChangeBase {
Value,
Block,
};
- PHISetIncoming(PHINode &PHI, unsigned Idx, What What);
+ PHISetIncoming(PHINode *PHI, unsigned Idx, What What);
void revert(Tracker &Tracker) final;
void accept() final {}
#ifndef NDEBUG
@@ -116,13 +116,13 @@ class PHISetIncoming : public IRChangeBase {
};
class PHIRemoveIncoming : public IRChangeBase {
- PHINode &PHI;
+ PHINode *PHI;
unsigned RemovedIdx;
Value *RemovedV;
BasicBlock *RemovedBB;
public:
- PHIRemoveIncoming(PHINode &PHI, unsigned RemovedIdx);
+ PHIRemoveIncoming(PHINode *PHI, unsigned RemovedIdx);
void revert(Tracker &Tracker) final;
void accept() final {}
#ifndef NDEBUG
@@ -132,11 +132,11 @@ class PHIRemoveIncoming : public IRChangeBase {
};
class PHIAddIncoming : public IRChangeBase {
- PHINode &PHI;
+ PHINode *PHI;
unsigned Idx;
public:
- PHIAddIncoming(PHINode &PHI);
+ PHIAddIncoming(PHINode *PHI);
void revert(Tracker &Tracker) final;
void accept() final {}
#ifndef NDEBUG
diff --git a/llvm/lib/SandboxIR/SandboxIR.cpp b/llvm/lib/SandboxIR/SandboxIR.cpp
index f810a934614771..fd74e7f5eaf62e 100644
--- a/llvm/lib/SandboxIR/SandboxIR.cpp
+++ b/llvm/lib/SandboxIR/SandboxIR.cpp
@@ -1125,9 +1125,8 @@ Value *PHINode::getIncomingValue(unsigned Idx) const {
}
void PHINode::setIncomingValue(unsigned Idx, Value *V) {
auto &Tracker = Ctx.getTracker();
- if (Tracker.isTracking())
- Tracker.track(std::make_unique<PHISetIncoming>(
- *this, Idx, PHISetIncoming::What::Value));
+ Tracker.emplaceIfTracking<PHISetIncoming>(this, Idx,
+ PHISetIncoming::What::Value);
cast<llvm::PHINode>(Val)->setIncomingValue(Idx, V->Val);
}
@@ -1142,24 +1141,21 @@ BasicBlock *PHINode::getIncomingBlock(const Use &U) const {
}
void PHINode::setIncomingBlock(unsigned Idx, BasicBlock *BB) {
auto &Tracker = Ctx.getTracker();
- if (Tracker.isTracking())
- Tracker.track(std::make_unique<PHISetIncoming>(
- *this, Idx, PHISetIncoming::What::Block));
+ Tracker.emplaceIfTracking<PHISetIncoming>(this, Idx,
+ PHISetIncoming::What::Block);
cast<llvm::PHINode>(Val)->setIncomingBlock(Idx,
cast<llvm::BasicBlock>(BB->Val));
}
void PHINode::addIncoming(Value *V, BasicBlock *BB) {
auto &Tracker = Ctx.getTracker();
- if (Tracker.isTracking())
- Tracker.track(std::make_unique<PHIAddIncoming>(*this));
+ Tracker.emplaceIfTracking<PHIAddIncoming>(this);
cast<llvm::PHINode>(Val)->addIncoming(V->Val,
cast<llvm::BasicBlock>(BB->Val));
}
Value *PHINode::removeIncomingValue(unsigned Idx) {
auto &Tracker = Ctx.getTracker();
- if (Tracker.isTracking())
- Tracker.track(std::make_unique<PHIRemoveIncoming>(*this, Idx));
+ Tracker.emplaceIfTracking<PHIRemoveIncoming>(this, Idx);
llvm::Value *LLVMV =
cast<llvm::PHINode>(Val)->removeIncomingValue(Idx,
/*DeletePHIIfEmpty=*/false);
@@ -1167,9 +1163,7 @@ Value *PHINode::removeIncomingValue(unsigned Idx) {
}
Value *PHINode::removeIncomingValue(BasicBlock *BB) {
auto &Tracker = Ctx.getTracker();
- if (Tracker.isTracking())
- Tracker.track(
- std::make_unique<PHIRemoveIncoming>(*this, getBasicBlockIndex(BB)));
+ Tracker.emplaceIfTracking<PHIRemoveIncoming>(this, getBasicBlockIndex(BB));
auto *LLVMBB = cast<llvm::BasicBlock>(BB->Val);
llvm::Value *LLVMV =
diff --git a/llvm/lib/SandboxIR/Tracker.cpp b/llvm/lib/SandboxIR/Tracker.cpp
index 44fe0b7a212e03..23f4125dba026b 100644
--- a/llvm/lib/SandboxIR/Tracker.cpp
+++ b/llvm/lib/SandboxIR/Tracker.cpp
@@ -27,23 +27,23 @@ void UseSwap::dump() const {
}
#endif // NDEBUG
-PHISetIncoming::PHISetIncoming(PHINode &PHI, unsigned Idx, What What)
+PHISetIncoming::PHISetIncoming(PHINode *PHI, unsigned Idx, What What)
: PHI(PHI), Idx(Idx) {
switch (What) {
case What::Value:
- OrigValueOrBB = PHI.getIncomingValue(Idx);
+ OrigValueOrBB = PHI->getIncomingValue(Idx);
break;
case What::Block:
- OrigValueOrBB = PHI.getIncomingBlock(Idx);
+ OrigValueOrBB = PHI->getIncomingBlock(Idx);
break;
}
}
void PHISetIncoming::revert(Tracker &Tracker) {
if (auto *V = OrigValueOrBB.dyn_cast<Value *>())
- PHI.setIncomingValue(Idx, V);
+ PHI->setIncomingValue(Idx, V);
else
- PHI.setIncomingBlock(Idx, OrigValueOrBB.get<BasicBlock *>());
+ PHI->setIncomingBlock(Idx, OrigValueOrBB.get<BasicBlock *>());
}
#ifndef NDEBUG
@@ -53,32 +53,33 @@ void PHISetIncoming::dump() const {
}
#endif // NDEBUG
-PHIRemoveIncoming::PHIRemoveIncoming(PHINode &PHI, unsigned RemovedIdx)
+PHIRemoveIncoming::PHIRemoveIncoming(PHINode *PHI, unsigned RemovedIdx)
: PHI(PHI), RemovedIdx(RemovedIdx) {
- RemovedV = PHI.getIncomingValue(RemovedIdx);
- RemovedBB = PHI.getIncomingBlock(RemovedIdx);
+ RemovedV = PHI->getIncomingValue(RemovedIdx);
+ RemovedBB = PHI->getIncomingBlock(RemovedIdx);
}
void PHIRemoveIncoming::revert(Tracker &Tracker) {
// Special case: if the PHI is now empty, as we don't need to care about the
// order of the incoming values.
- unsigned NumIncoming = PHI.getNumIncomingValues();
+ unsigned NumIncoming = PHI->getNumIncomingValues();
if (NumIncoming == 0) {
- PHI.addIncoming(RemovedV, RemovedBB);
+ PHI->addIncoming(RemovedV, RemovedBB);
return;
}
// Shift all incoming values by one starting from the end until `Idx`.
// Start by adding a copy of the last incoming values.
unsigned LastIdx = NumIncoming - 1;
- PHI.addIncoming(PHI.getIncomingValue(LastIdx), PHI.getIncomingBlock(LastIdx));
+ PHI->addIncoming(PHI->getIncomingValue(LastIdx),
+ PHI->getIncomingBlock(LastIdx));
for (unsigned Idx = LastIdx; Idx > RemovedIdx; --Idx) {
- auto *PrevV = PHI.getIncomingValue(Idx - 1);
- auto *PrevBB = PHI.getIncomingBlock(Idx - 1);
- PHI.setIncomingValue(Idx, PrevV);
- PHI.setIncomingBlock(Idx, PrevBB);
+ auto *PrevV = PHI->getIncomingValue(Idx - 1);
+ auto *PrevBB = PHI->getIncomingBlock(Idx - 1);
+ PHI->setIncomingValue(Idx, PrevV);
+ PHI->setIncomingBlock(Idx, PrevBB);
}
- PHI.setIncomingValue(RemovedIdx, RemovedV);
- PHI.setIncomingBlock(RemovedIdx, RemovedBB);
+ PHI->setIncomingValue(RemovedIdx, RemovedV);
+ PHI->setIncomingBlock(RemovedIdx, RemovedBB);
}
#ifndef NDEBUG
@@ -88,10 +89,10 @@ void PHIRemoveIncoming::dump() const {
}
#endif // NDEBUG
-PHIAddIncoming::PHIAddIncoming(PHINode &PHI)
- : PHI(PHI), Idx(PHI.getNumIncomingValues()) {}
+PHIAddIncoming::PHIAddIncoming(PHINode *PHI)
+ : PHI(PHI), Idx(PHI->getNumIncomingValues()) {}
-void PHIAddIncoming::revert(Tracker &Tracker) { PHI.removeIncomingValue(Idx); }
+void PHIAddIncoming::revert(Tracker &Tracker) { PHI->removeIncomingValue(Idx); }
#ifndef NDEBUG
void PHIAddIncoming::dump() const {
More information about the llvm-commits
mailing list