[llvm] [llvm] Migrate away from PointerUnion::{is, get} (NFC) (PR #119679)
Kazu Hirata via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 12 01:30:55 PST 2024
https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/119679
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
>From aed7ab27bcec8807fa5f4be4bbc070323ed68441 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Thu, 12 Dec 2024 01:22:31 -0800
Subject: [PATCH] [llvm] Migrate away from PointerUnion::{is,get} (NFC)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
---
.../Parallel/DWARFLinkerCompileUnit.cpp | 8 ++---
.../Transforms/Vectorize/SLPVectorizer.cpp | 30 +++++++++----------
llvm/unittests/IR/IRBuilderTest.cpp | 8 ++---
3 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp b/llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
index b7a980cb7f068f..fa426d41854bb9 100644
--- a/llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
+++ b/llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
@@ -1813,19 +1813,19 @@ DwarfUnit *CompileUnit::OutputUnitVariantPtr::operator->() {
}
bool CompileUnit::OutputUnitVariantPtr::isCompileUnit() {
- return Ptr.is<CompileUnit *>();
+ return isa<CompileUnit *>(Ptr);
}
bool CompileUnit::OutputUnitVariantPtr::isTypeUnit() {
- return Ptr.is<TypeUnit *>();
+ return isa<TypeUnit *>(Ptr);
}
CompileUnit *CompileUnit::OutputUnitVariantPtr::getAsCompileUnit() {
- return Ptr.get<CompileUnit *>();
+ return cast<CompileUnit *>(Ptr);
}
TypeUnit *CompileUnit::OutputUnitVariantPtr::getAsTypeUnit() {
- return Ptr.get<TypeUnit *>();
+ return cast<TypeUnit *>(Ptr);
}
bool CompileUnit::resolveDependenciesAndMarkLiveness(
diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index df3e37f7082ad0..dd4db2e5473375 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -10218,9 +10218,9 @@ class BoUpSLP::ShuffleCostEstimator : public BaseShuffleAnalysis {
// sub-Mask into the CommonMask to estimate it later and avoid double cost
// estimation.
if ((InVectors.size() == 2 &&
- InVectors.front().get<const TreeEntry *>() == &E1 &&
- InVectors.back().get<const TreeEntry *>() == E2) ||
- (!E2 && InVectors.front().get<const TreeEntry *>() == &E1)) {
+ cast<const TreeEntry *>(InVectors.front()) == &E1 &&
+ cast<const TreeEntry *>(InVectors.back()) == E2) ||
+ (!E2 && cast<const TreeEntry *>(InVectors.front()) == &E1)) {
unsigned Limit = getNumElems(Mask.size(), SliceSize, Part);
assert(all_of(ArrayRef(CommonMask).slice(Part * SliceSize, Limit),
[](int Idx) { return Idx == PoisonMaskElem; }) &&
@@ -10246,7 +10246,7 @@ class BoUpSLP::ShuffleCostEstimator : public BaseShuffleAnalysis {
VF = std::max(VF,
cast<FixedVectorType>(V1->getType())->getNumElements());
} else {
- const auto *E = InVectors.front().get<const TreeEntry *>();
+ const auto *E = cast<const TreeEntry *>(InVectors.front());
VF = std::max(VF, E->getVectorFactor());
}
for (unsigned Idx = 0, Sz = CommonMask.size(); Idx < Sz; ++Idx)
@@ -10262,7 +10262,7 @@ class BoUpSLP::ShuffleCostEstimator : public BaseShuffleAnalysis {
VF = std::max(VF,
getNumElements(V1->getType()));
} else {
- const auto *E = P.get<const TreeEntry *>();
+ const auto *E = cast<const TreeEntry *>(P);
VF = std::max(VF, E->getVectorFactor());
}
for (unsigned Idx = 0, Sz = CommonMask.size(); Idx < Sz; ++Idx)
@@ -10368,9 +10368,9 @@ class BoUpSLP::ShuffleCostEstimator : public BaseShuffleAnalysis {
};
if (!V1 && !V2 && !P2.isNull()) {
// Shuffle 2 entry nodes.
- const TreeEntry *E = P1.get<const TreeEntry *>();
+ const TreeEntry *E = cast<const TreeEntry *>(P1);
unsigned VF = E->getVectorFactor();
- const TreeEntry *E2 = P2.get<const TreeEntry *>();
+ const TreeEntry *E2 = cast<const TreeEntry *>(P2);
CommonVF = std::max(VF, E2->getVectorFactor());
assert(all_of(Mask,
[=](int Idx) {
@@ -10402,7 +10402,7 @@ class BoUpSLP::ShuffleCostEstimator : public BaseShuffleAnalysis {
V2 = getAllOnesValue(*R.DL, getWidenedType(ScalarTy, CommonVF));
} else if (!V1 && P2.isNull()) {
// Shuffle single entry node.
- const TreeEntry *E = P1.get<const TreeEntry *>();
+ const TreeEntry *E = cast<const TreeEntry *>(P1);
unsigned VF = E->getVectorFactor();
CommonVF = VF;
assert(
@@ -10451,7 +10451,7 @@ class BoUpSLP::ShuffleCostEstimator : public BaseShuffleAnalysis {
} else if (V1 && !V2) {
// Shuffle vector and tree node.
unsigned VF = getVF(V1);
- const TreeEntry *E2 = P2.get<const TreeEntry *>();
+ const TreeEntry *E2 = cast<const TreeEntry *>(P2);
CommonVF = std::max(VF, E2->getVectorFactor());
assert(all_of(Mask,
[=](int Idx) {
@@ -10477,7 +10477,7 @@ class BoUpSLP::ShuffleCostEstimator : public BaseShuffleAnalysis {
} else if (!V1 && V2) {
// Shuffle vector and tree node.
unsigned VF = getVF(V2);
- const TreeEntry *E1 = P1.get<const TreeEntry *>();
+ const TreeEntry *E1 = cast<const TreeEntry *>(P1);
CommonVF = std::max(VF, E1->getVectorFactor());
assert(all_of(Mask,
[=](int Idx) {
@@ -10715,8 +10715,8 @@ class BoUpSLP::ShuffleCostEstimator : public BaseShuffleAnalysis {
if (P.value() == PoisonMaskElem)
return Mask[P.index()] == PoisonMaskElem;
auto *EI = cast<ExtractElementInst>(
- InVectors.front().get<const TreeEntry *>()->getOrdered(
- P.index()));
+ cast<const TreeEntry *>(InVectors.front())
+ ->getOrdered(P.index()));
return EI->getVectorOperand() == V1 ||
EI->getVectorOperand() == V2;
}) &&
@@ -10734,7 +10734,7 @@ class BoUpSLP::ShuffleCostEstimator : public BaseShuffleAnalysis {
if (ForExtracts) {
// No need to add vectors here, already handled them in adjustExtracts.
assert(
- InVectors.size() == 1 && InVectors.front().is<const TreeEntry *>() &&
+ InVectors.size() == 1 && isa<const TreeEntry *>(InVectors.front()) &&
!CommonMask.empty() &&
all_of(enumerate(CommonMask),
[&](auto P) {
@@ -10764,7 +10764,7 @@ class BoUpSLP::ShuffleCostEstimator : public BaseShuffleAnalysis {
VF = std::max(VF, InTE->getVectorFactor());
} else {
VF = std::max(
- VF, cast<FixedVectorType>(InVectors.front().get<Value *>()->getType())
+ VF, cast<FixedVectorType>(cast<Value *>(InVectors.front())->getType())
->getNumElements());
}
InVectors.push_back(V1);
@@ -10834,7 +10834,7 @@ class BoUpSLP::ShuffleCostEstimator : public BaseShuffleAnalysis {
CommonMask[Idx] = Idx;
assert(VF > 0 &&
"Expected vector length for the final value before action.");
- Value *V = Vec.get<Value *>();
+ Value *V = cast<Value *>(Vec);
Action(V, CommonMask);
InVectors.front() = V;
}
diff --git a/llvm/unittests/IR/IRBuilderTest.cpp b/llvm/unittests/IR/IRBuilderTest.cpp
index 690af62d18020d..2fd52860e71b9f 100644
--- a/llvm/unittests/IR/IRBuilderTest.cpp
+++ b/llvm/unittests/IR/IRBuilderTest.cpp
@@ -881,12 +881,12 @@ TEST_F(IRBuilderTest, DIBuilder) {
auto ExpectOrder = [&](DbgInstPtr First, BasicBlock::iterator Second) {
if (M->IsNewDbgInfoFormat) {
- EXPECT_TRUE(First.is<DbgRecord *>());
+ EXPECT_TRUE(isa<DbgRecord *>(First));
EXPECT_FALSE(Second->getDbgRecordRange().empty());
- EXPECT_EQ(GetLastDbgRecord(&*Second), First.get<DbgRecord *>());
+ EXPECT_EQ(GetLastDbgRecord(&*Second), cast<DbgRecord *>(First));
} else {
- EXPECT_TRUE(First.is<Instruction *>());
- EXPECT_EQ(&*std::prev(Second), First.get<Instruction *>());
+ EXPECT_TRUE(isa<Instruction *>(First));
+ EXPECT_EQ(&*std::prev(Second), cast<Instruction *>(First));
}
};
More information about the llvm-commits
mailing list