[clang] 8aaac80 - [NFC] Use more isa and isa_and_nonnull instead dyn_cast for predicates (#137393)
via cfe-commits
cfe-commits at lists.llvm.org
Tue May 13 07:34:46 PDT 2025
Author: Max Graey
Date: 2025-05-13T22:34:42+08:00
New Revision: 8aaac80ddde6a23527d3caa98ec998ebe402e0d9
URL: https://github.com/llvm/llvm-project/commit/8aaac80ddde6a23527d3caa98ec998ebe402e0d9
DIFF: https://github.com/llvm/llvm-project/commit/8aaac80ddde6a23527d3caa98ec998ebe402e0d9.diff
LOG: [NFC] Use more isa and isa_and_nonnull instead dyn_cast for predicates (#137393)
Also fix some typos in comments
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Added:
Modified:
clang/lib/Sema/SemaChecking.cpp
clang/lib/Sema/SemaModule.cpp
clang/lib/Sema/SemaOpenMP.cpp
clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
lld/MachO/SymbolTable.cpp
llvm/include/llvm/Analysis/LoopInfo.h
llvm/lib/Bitcode/Reader/MetadataLoader.cpp
llvm/lib/IR/Verifier.cpp
llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
mlir/lib/Dialect/Affine/IR/AffineOps.cpp
mlir/lib/Dialect/Arith/Utils/Utils.cpp
mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCounting.cpp
mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
mlir/lib/Dialect/Quant/Utils/UniformSupport.cpp
mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
mlir/lib/IR/Diagnostics.cpp
mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
Removed:
################################################################################
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp
index 5a0cec3d112db..59eb6d16f482c 100644
--- a/clang/lib/Sema/SemaChecking.cpp
+++ b/clang/lib/Sema/SemaChecking.cpp
@@ -10052,9 +10052,10 @@ void CheckFreeArgumentsAddressof(Sema &S, const std::string &CalleeName,
const UnaryOperator *UnaryExpr) {
if (const auto *Lvalue = dyn_cast<DeclRefExpr>(UnaryExpr->getSubExpr())) {
const Decl *D = Lvalue->getDecl();
- if (isa<DeclaratorDecl>(D))
- if (!dyn_cast<DeclaratorDecl>(D)->getType()->isReferenceType())
+ if (auto *DD = dyn_cast<DeclaratorDecl>(D)) {
+ if (!DD->getType()->isReferenceType())
return CheckFreeArgumentsOnLvalue(S, CalleeName, UnaryExpr, D);
+ }
}
if (const auto *Lvalue = dyn_cast<MemberExpr>(UnaryExpr->getSubExpr()))
diff --git a/clang/lib/Sema/SemaModule.cpp b/clang/lib/Sema/SemaModule.cpp
index bf1b76b52e1fc..6c4df0aa35af5 100644
--- a/clang/lib/Sema/SemaModule.cpp
+++ b/clang/lib/Sema/SemaModule.cpp
@@ -942,7 +942,7 @@ static bool checkExportedDecl(Sema &S, Decl *D, SourceLocation BlockStart) {
// HLSL: export declaration is valid only on functions
if (S.getLangOpts().HLSL) {
// Export-within-export was already diagnosed in ActOnStartExportDecl
- if (!dyn_cast<FunctionDecl>(D) && !dyn_cast<ExportDecl>(D)) {
+ if (!isa<FunctionDecl, ExportDecl>(D)) {
S.Diag(D->getBeginLoc(), diag::err_hlsl_export_not_on_function);
D->setInvalidDecl();
return false;
diff --git a/clang/lib/Sema/SemaOpenMP.cpp b/clang/lib/Sema/SemaOpenMP.cpp
index be6ce97d838f3..fcb556f8f2b9f 100644
--- a/clang/lib/Sema/SemaOpenMP.cpp
+++ b/clang/lib/Sema/SemaOpenMP.cpp
@@ -2307,7 +2307,7 @@ bool SemaOpenMP::isInOpenMPTargetExecutionDirective() const {
bool SemaOpenMP::isOpenMPRebuildMemberExpr(ValueDecl *D) {
// Only rebuild for Field.
- if (!dyn_cast<FieldDecl>(D))
+ if (!isa<FieldDecl>(D))
return false;
DSAStackTy::DSAVarData DVarPrivate = DSAStack->hasDSA(
D,
diff --git a/clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
index a23f3aa356cb0..4fb47703e3984 100644
--- a/clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
+++ b/clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
@@ -356,7 +356,7 @@ class RawPtrRefLocalVarsChecker
SmallString<100> Buf;
llvm::raw_svector_ostream Os(Buf);
- if (dyn_cast<ParmVarDecl>(V)) {
+ if (isa<ParmVarDecl>(V)) {
Os << "Assignment to an " << ptrKind() << " parameter ";
printQuotedQualifiedName(Os, V);
Os << " is unsafe.";
diff --git a/lld/MachO/SymbolTable.cpp b/lld/MachO/SymbolTable.cpp
index ad48e909903b5..baddddcb76fbf 100644
--- a/lld/MachO/SymbolTable.cpp
+++ b/lld/MachO/SymbolTable.cpp
@@ -518,7 +518,7 @@ static const Symbol *getAlternativeSpelling(const Undefined &sym,
// If in the symbol table and not undefined.
if (const Symbol *s = symtab->find(newName))
- if (dyn_cast<Undefined>(s) == nullptr)
+ if (!isa<Undefined>(s))
return s;
return nullptr;
@@ -567,8 +567,7 @@ static const Symbol *getAlternativeSpelling(const Undefined &sym,
if (name.equals_insensitive(it.first))
return it.second;
for (Symbol *sym : symtab->getSymbols())
- if (dyn_cast<Undefined>(sym) == nullptr &&
- name.equals_insensitive(sym->getName()))
+ if (!isa<Undefined>(sym) && name.equals_insensitive(sym->getName()))
return sym;
// The reference may be a mangled name while the definition is not. Suggest a
diff --git a/llvm/include/llvm/Analysis/LoopInfo.h b/llvm/include/llvm/Analysis/LoopInfo.h
index abc0bb8588fa8..814c61bf4c350 100644
--- a/llvm/include/llvm/Analysis/LoopInfo.h
+++ b/llvm/include/llvm/Analysis/LoopInfo.h
@@ -529,7 +529,7 @@ class LoopInfo : public LoopInfoBase<BasicBlock, Loop> {
}
// Return true if a new use of V added in ExitBB would require an LCSSA PHI
- // to be inserted at the begining of the block. Note that V is assumed to
+ // to be inserted at the beginning of the block. Note that V is assumed to
// dominate ExitBB, and ExitBB must be the exit block of some loop. The
// IR is assumed to be in LCSSA form before the planned insertion.
bool wouldBeOutOfLoopUseRequiringLCSSA(const Value *V,
diff --git a/llvm/lib/Bitcode/Reader/MetadataLoader.cpp b/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
index 4879569200549..c724488b45d48 100644
--- a/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
+++ b/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
@@ -558,7 +558,7 @@ class MetadataLoader::MetadataLoaderImpl {
SetVector<Metadata *> EntitiesToRemove;
for (Metadata *Op : CU->getImportedEntities()->operands()) {
auto *IE = cast<DIImportedEntity>(Op);
- if (dyn_cast_or_null<DILocalScope>(IE->getScope())) {
+ if (isa_and_nonnull<DILocalScope>(IE->getScope())) {
EntitiesToRemove.insert(IE);
}
}
diff --git a/llvm/lib/IR/Verifier.cpp b/llvm/lib/IR/Verifier.cpp
index 2cfd3822ea05d..da6963a8d29e6 100644
--- a/llvm/lib/IR/Verifier.cpp
+++ b/llvm/lib/IR/Verifier.cpp
@@ -6584,7 +6584,7 @@ void Verifier::visitIntrinsicCall(Intrinsic::ID ID, CallBase &Call) {
for (BasicBlock *ColorFirstBB : CV)
if (auto It = ColorFirstBB->getFirstNonPHIIt();
It != ColorFirstBB->end())
- if (dyn_cast_or_null<FuncletPadInst>(&*It))
+ if (isa_and_nonnull<FuncletPadInst>(&*It))
InEHFunclet = true;
// Check for funclet operand bundle
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
index 56fa8f9ce51ae..978e08bb89551 100644
--- a/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
@@ -294,7 +294,7 @@ bool WebAssemblyTTIImpl::isProfitableToSinkOperands(
Value *V = I->getOperand(1);
// We dont need to sink constant splat.
- if (dyn_cast<Constant>(V))
+ if (isa<Constant>(V))
return false;
if (match(V, m_Shuffle(m_InsertElt(m_Value(), m_Value(), m_ZeroInt()),
diff --git a/mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp b/mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
index ea251e4564ea8..57c8f4402cf4b 100644
--- a/mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
+++ b/mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
@@ -755,7 +755,7 @@ LLVMTypeConverter::promoteOperands(Location loc, ValueRange opOperands,
if (useBarePtrCallConv) {
// For the bare-ptr calling convention, we only have to extract the
// aligned pointer of a memref.
- if (dyn_cast<MemRefType>(operand.getType())) {
+ if (isa<MemRefType>(operand.getType())) {
MemRefDescriptor desc(llvmOperand);
llvmOperand = desc.alignedPtr(builder, loc);
} else if (isa<UnrankedMemRefType>(operand.getType())) {
diff --git a/mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp b/mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
index df5396ac628cf..7f4655e53609e 100644
--- a/mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
+++ b/mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
@@ -586,7 +586,7 @@ static func::FuncOp createElementFPowIFunc(ModuleOp *module,
LogicalResult
FPowIOpLowering::matchAndRewrite(math::FPowIOp op,
PatternRewriter &rewriter) const {
- if (dyn_cast<VectorType>(op.getType()))
+ if (isa<VectorType>(op.getType()))
return rewriter.notifyMatchFailure(op, "non-scalar operation");
FunctionType funcType = getElementalFuncTypeForOp(op);
@@ -751,7 +751,7 @@ static func::FuncOp createCtlzFunc(ModuleOp *module, Type elementType) {
/// operation.
LogicalResult CtlzOpLowering::matchAndRewrite(math::CountLeadingZerosOp op,
PatternRewriter &rewriter) const {
- if (dyn_cast<VectorType>(op.getType()))
+ if (isa<VectorType>(op.getType()))
return rewriter.notifyMatchFailure(op, "non-scalar operation");
Type type = getElementTypeOrSelf(op.getResult().getType());
diff --git a/mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp b/mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
index c8b2c0bdc6c20..158de6dea58c9 100644
--- a/mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
+++ b/mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
@@ -890,7 +890,7 @@ struct RankOpLowering : public ConvertOpToLLVMPattern<memref::RankOp> {
ConversionPatternRewriter &rewriter) const override {
Location loc = op.getLoc();
Type operandType = op.getMemref().getType();
- if (dyn_cast<UnrankedMemRefType>(operandType)) {
+ if (isa<UnrankedMemRefType>(operandType)) {
UnrankedMemRefDescriptor desc(adaptor.getMemref());
rewriter.replaceOp(op, {desc.rank(rewriter, loc)});
return success();
diff --git a/mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp b/mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
index 4fe22eabcb584..96925dbf9f286 100644
--- a/mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
+++ b/mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
@@ -63,7 +63,7 @@ static LogicalResult transferPreconditions(
return rewriter.notifyMatchFailure(xferOp, "not a memref source");
Attribute addrSpace = memRefType.getMemorySpace();
- if (!addrSpace || !dyn_cast<amdgpu::AddressSpaceAttr>(addrSpace))
+ if (!isa_and_nonnull<amdgpu::AddressSpaceAttr>(addrSpace))
return rewriter.notifyMatchFailure(xferOp, "no address space");
if (dyn_cast<amdgpu::AddressSpaceAttr>(addrSpace).getValue() !=
diff --git a/mlir/lib/Dialect/Affine/IR/AffineOps.cpp b/mlir/lib/Dialect/Affine/IR/AffineOps.cpp
index eb23403a68813..6f99306b54b45 100644
--- a/mlir/lib/Dialect/Affine/IR/AffineOps.cpp
+++ b/mlir/lib/Dialect/Affine/IR/AffineOps.cpp
@@ -2194,7 +2194,7 @@ static void printBound(AffineMapAttr boundMap,
// Print bound that consists of a single SSA symbol if the map is over a
// single symbol.
if (map.getNumDims() == 0 && map.getNumSymbols() == 1) {
- if (dyn_cast<AffineSymbolExpr>(expr)) {
+ if (isa<AffineSymbolExpr>(expr)) {
p.printOperand(*boundOperands.begin());
return;
}
diff --git a/mlir/lib/Dialect/Arith/Utils/Utils.cpp b/mlir/lib/Dialect/Arith/Utils/Utils.cpp
index 6b1074e454bd5..bb4807ab39cd6 100644
--- a/mlir/lib/Dialect/Arith/Utils/Utils.cpp
+++ b/mlir/lib/Dialect/Arith/Utils/Utils.cpp
@@ -205,7 +205,7 @@ static Value convertScalarToComplexDtype(ImplicitLocOpBuilder &b, Value operand,
}
}
- if (dyn_cast<FloatType>(operand.getType())) {
+ if (isa<FloatType>(operand.getType())) {
FloatType toFpTy = cast<FloatType>(targetType.getElementType());
auto toBitwidth = toFpTy.getIntOrFloatBitWidth();
Value from = operand;
@@ -220,7 +220,7 @@ static Value convertScalarToComplexDtype(ImplicitLocOpBuilder &b, Value operand,
return b.create<complex::CreateOp>(targetType, from, zero);
}
- if (dyn_cast<IntegerType>(operand.getType())) {
+ if (isa<IntegerType>(operand.getType())) {
FloatType toFpTy = cast<FloatType>(targetType.getElementType());
Value from = operand;
if (isUnsigned) {
diff --git a/mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCounting.cpp b/mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCounting.cpp
index 27a51c8cba769..d11cd8444636a 100644
--- a/mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCounting.cpp
+++ b/mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCounting.cpp
@@ -534,15 +534,15 @@ void AsyncRuntimePolicyBasedRefCountingPass::initializeDefaultPolicy() {
bool isValue = isa<ValueType>(type);
// Drop reference after async token or group error check (coro await).
- if (dyn_cast<RuntimeIsErrorOp>(op))
+ if (isa<RuntimeIsErrorOp>(op))
return (isToken || isGroup) ? -1 : 0;
// Drop reference after async value load.
- if (dyn_cast<RuntimeLoadOp>(op))
+ if (isa<RuntimeLoadOp>(op))
return isValue ? -1 : 0;
// Drop reference after async token added to the group.
- if (dyn_cast<RuntimeAddToGroupOp>(op))
+ if (isa<RuntimeAddToGroupOp>(op))
return isToken ? -1 : 0;
return 0;
diff --git a/mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp b/mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
index c16c38ea22a5d..7d1844df42195 100644
--- a/mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
+++ b/mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
@@ -1296,7 +1296,7 @@ LogicalResult mlir::linalg::detail::verifyStructuredOpInterface(Operation *op) {
"unexpected result less than 0 at expression #")
<< dim << " in " << mapStr;
}
- if (dyn_cast<AffineDimExpr>(indexingMap.getResult(dim))) {
+ if (isa<AffineDimExpr>(indexingMap.getResult(dim))) {
if (inferredDimSize != shape[dim]) {
return op->emitOpError("inferred input/output operand #")
<< opOperand.getOperandNumber() << " has shape's dimension #"
diff --git a/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp b/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
index f6ca109b84f9e..fbe7593420102 100644
--- a/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
+++ b/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
@@ -1211,7 +1211,7 @@ DiagnosedSilenceableFailure transform::LinalgCopyToMemrefOp::applyToOne(
// linalg.copy supports
diff erent element types on source/dest whereas
// memref.copy does not, so we must check that the source and dest types can
// be handled by memref.copy and otherwise reject the transformation.
- if (!dyn_cast<ShapedType>(input.getType())) {
+ if (!isa<ShapedType>(input.getType())) {
DiagnosedSilenceableFailure diag =
emitSilenceableError()
<< "cannot transform a linalg.copy which input has no shape";
@@ -1220,7 +1220,7 @@ DiagnosedSilenceableFailure transform::LinalgCopyToMemrefOp::applyToOne(
}
// linalg.copy destination must be a shaped type.
- assert(dyn_cast<ShapedType>(output.getType()));
+ assert(isa<ShapedType>(output.getType()));
if (cast<ShapedType>(input.getType()).getElementType() !=
cast<ShapedType>(output.getType()).getElementType()) {
diff --git a/mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp b/mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
index 0d62d72abd076..20ab5ecbe3c4a 100644
--- a/mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
+++ b/mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
@@ -317,9 +317,8 @@ struct LinalgDetensorize
// * Add the argument to blockArgsToDetensor.
// * Walk the use-def chain backwards to add each predecessor's
// terminator-operands corresponding to currentItem to workList.
- if (dyn_cast<BlockArgument>(currentItem)) {
- BlockArgument currentItemBlockArgument =
- cast<BlockArgument>(currentItem);
+ if (auto currentItemBlockArgument =
+ dyn_cast<BlockArgument>(currentItem)) {
Block *ownerBlock = currentItemBlockArgument.getOwner();
// Function arguments are not detensored/converted.
@@ -414,7 +413,7 @@ struct LinalgDetensorize
Block *block = blockArg.getParentBlock();
// For the potentially detensorable block argument, find the
- // correpsonding operands in predecessor blocks.
+ // corresponding operands in predecessor blocks.
for (PredecessorIterator pred = block->pred_begin();
pred != block->pred_end(); ++pred) {
BranchOpInterface terminator =
diff --git a/mlir/lib/Dialect/Linalg/Transforms/Loops.cpp b/mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
index 984f3f5a34ab1..5b2ec4a6ff528 100644
--- a/mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
+++ b/mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
@@ -303,7 +303,7 @@ struct FoldAffineOp : public RewritePattern {
}
return failure();
}
- if (dyn_cast<AffineDimExpr>(expr) || dyn_cast<AffineSymbolExpr>(expr)) {
+ if (isa<AffineDimExpr, AffineSymbolExpr>(expr)) {
rewriter.replaceOp(op, op->getOperand(0));
return success();
}
diff --git a/mlir/lib/Dialect/Quant/Utils/UniformSupport.cpp b/mlir/lib/Dialect/Quant/Utils/UniformSupport.cpp
index 62c7a7128d63a..b66390819103e 100644
--- a/mlir/lib/Dialect/Quant/Utils/UniformSupport.cpp
+++ b/mlir/lib/Dialect/Quant/Utils/UniformSupport.cpp
@@ -36,7 +36,7 @@ Type ExpressedToQuantizedConverter::convert(QuantizedType elementalType) const {
assert(expressedType && "convert() on unsupported conversion");
if (auto tensorType = dyn_cast<RankedTensorType>(inputType))
return RankedTensorType::get(tensorType.getShape(), elementalType);
- if (dyn_cast<UnrankedTensorType>(inputType))
+ if (isa<UnrankedTensorType>(inputType))
return UnrankedTensorType::get(elementalType);
if (auto vectorType = dyn_cast<VectorType>(inputType))
return VectorType::get(vectorType.getShape(), elementalType);
diff --git a/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp b/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
index 60db71d96547f..dcb0237070885 100644
--- a/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
+++ b/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
@@ -1284,7 +1284,7 @@ struct DirectConvertRewriter : public OpRewritePattern<ConvertOp> {
bool fromSparseConst = false;
if (auto constOp = op.getSource().getDefiningOp<arith::ConstantOp>())
- if (dyn_cast<SparseElementsAttr>(constOp.getValue()))
+ if (isa<SparseElementsAttr>(constOp.getValue()))
fromSparseConst = true;
const AffineMapAttr foreachOrder =
diff --git a/mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp b/mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
index f92382472b478..0ebdc3a54e61b 100644
--- a/mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
+++ b/mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
@@ -211,7 +211,7 @@ Value mlir::sparse_tensor::genIsNonzero(OpBuilder &builder, mlir::Location loc,
if (tp.isIntOrIndex())
return builder.create<arith::CmpIOp>(loc, arith::CmpIPredicate::ne, v,
zero);
- if (dyn_cast<ComplexType>(tp))
+ if (isa<ComplexType>(tp))
return builder.create<complex::NotEqualOp>(loc, v, zero);
llvm_unreachable("Non-numeric type");
}
diff --git a/mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp b/mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
index 92b620473d2a0..c19d3733769b7 100644
--- a/mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
+++ b/mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
@@ -399,7 +399,7 @@ struct TransposeIsReshape : public OpRewritePattern<tosa::TransposeOp> {
Value result = op.getResult();
for (Operation *subop : result.getUsers()) {
- if (dyn_cast_or_null<tosa::TransposeOp>(subop))
+ if (isa_and_nonnull<tosa::TransposeOp>(subop))
return rewriter.notifyMatchFailure(
op, "Dest is used by transpose, can compose transposes");
}
diff --git a/mlir/lib/IR/Diagnostics.cpp b/mlir/lib/IR/Diagnostics.cpp
index 59d803035bda0..79697be2b45ea 100644
--- a/mlir/lib/IR/Diagnostics.cpp
+++ b/mlir/lib/IR/Diagnostics.cpp
@@ -392,11 +392,11 @@ struct SourceMgrDiagnosticHandlerImpl {
/// Return a processable CallSiteLoc from the given location.
static std::optional<CallSiteLoc> getCallSiteLoc(Location loc) {
- if (dyn_cast<NameLoc>(loc))
+ if (isa<NameLoc>(loc))
return getCallSiteLoc(cast<NameLoc>(loc).getChildLoc());
if (auto callLoc = dyn_cast<CallSiteLoc>(loc))
return callLoc;
- if (dyn_cast<FusedLoc>(loc)) {
+ if (isa<FusedLoc>(loc)) {
for (auto subLoc : cast<FusedLoc>(loc).getLocations()) {
if (auto callLoc = getCallSiteLoc(subLoc)) {
return callLoc;
diff --git a/mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp b/mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
index 7dfe320cff2ab..32b9144233f02 100644
--- a/mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
+++ b/mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
@@ -344,7 +344,7 @@ class NVVMDialectLLVMIRTranslationInterface
llvm::Function *llvmFunc = moduleTranslation.lookupFunction(func.getName());
if (attribute.getName() == NVVM::NVVMDialect::getMaxntidAttrName()) {
- if (!dyn_cast<DenseI32ArrayAttr>(attribute.getValue()))
+ if (!isa<DenseI32ArrayAttr>(attribute.getValue()))
return failure();
auto values = cast<DenseI32ArrayAttr>(attribute.getValue());
const std::string attr = llvm::formatv(
@@ -352,7 +352,7 @@ class NVVMDialectLLVMIRTranslationInterface
values.asArrayRef().end()));
llvmFunc->addFnAttr("nvvm.maxntid", attr);
} else if (attribute.getName() == NVVM::NVVMDialect::getReqntidAttrName()) {
- if (!dyn_cast<DenseI32ArrayAttr>(attribute.getValue()))
+ if (!isa<DenseI32ArrayAttr>(attribute.getValue()))
return failure();
auto values = cast<DenseI32ArrayAttr>(attribute.getValue());
const std::string attr = llvm::formatv(
@@ -361,7 +361,7 @@ class NVVMDialectLLVMIRTranslationInterface
llvmFunc->addFnAttr("nvvm.reqntid", attr);
} else if (attribute.getName() ==
NVVM::NVVMDialect::getClusterDimAttrName()) {
- if (!dyn_cast<DenseI32ArrayAttr>(attribute.getValue()))
+ if (!isa<DenseI32ArrayAttr>(attribute.getValue()))
return failure();
auto values = cast<DenseI32ArrayAttr>(attribute.getValue());
const std::string attr = llvm::formatv(
More information about the cfe-commits
mailing list