Skip to content

Conversation

@chsigg
Copy link
Contributor

@chsigg chsigg commented Apr 29, 2024

The corresponding member functions are deprecated.

The corresponding member functions are deprecated.
@llvmbot llvmbot added flang Flang issues not falling into any other category flang:fir-hlfir flang:codegen labels Apr 29, 2024
@llvmbot
Copy link
Member

llvmbot commented Apr 29, 2024

@llvm/pr-subscribers-flang-codegen

@llvm/pr-subscribers-flang-fir-hlfir

Author: Christian Sigg (chsigg)

Changes

The corresponding member functions are deprecated.


Full diff: https://github.com/llvm/llvm-project/pull/90432.diff

5 Files Affected:

  • (modified) flang/lib/Lower/ConvertVariable.cpp (+2-2)
  • (modified) flang/lib/Optimizer/CodeGen/CodeGen.cpp (+4-4)
  • (modified) flang/lib/Optimizer/Dialect/FIROps.cpp (+3-5)
  • (modified) flang/lib/Optimizer/Dialect/FIRType.cpp (+10-10)
  • (modified) flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp (+2-4)
diff --git a/flang/lib/Lower/ConvertVariable.cpp b/flang/lib/Lower/ConvertVariable.cpp index edf1f24a08e5c9..413563fe95ca38 100644 --- a/flang/lib/Lower/ConvertVariable.cpp +++ b/flang/lib/Lower/ConvertVariable.cpp @@ -496,8 +496,8 @@ static fir::GlobalOp defineGlobal(Fortran::lower::AbstractConverter &converter, if (mlir::isa<fir::SequenceType>(symTy) && !Fortran::semantics::IsAllocatableOrPointer(sym)) { mlir::Type eleTy = mlir::cast<fir::SequenceType>(symTy).getEleTy(); - if (eleTy.isa<mlir::IntegerType, mlir::FloatType, fir::ComplexType, - fir::LogicalType>()) { + if (mlir::isa<mlir::IntegerType, mlir::FloatType, fir::ComplexType, + fir::LogicalType>(eleTy)) { const auto *details = sym.detailsIf<Fortran::semantics::ObjectEntityDetails>(); if (details->init()) { diff --git a/flang/lib/Optimizer/CodeGen/CodeGen.cpp b/flang/lib/Optimizer/CodeGen/CodeGen.cpp index 19628ac71b0b21..b4705aa4799258 100644 --- a/flang/lib/Optimizer/CodeGen/CodeGen.cpp +++ b/flang/lib/Optimizer/CodeGen/CodeGen.cpp @@ -1964,12 +1964,12 @@ struct ValueOpCommon { mlir::ArrayAttr arrAttr) { llvm::SmallVector<int64_t> indices; for (auto i = arrAttr.begin(), e = arrAttr.end(); i != e; ++i) { - if (auto intAttr = i->dyn_cast<mlir::IntegerAttr>()) { + if (auto intAttr = mlir::dyn_cast<mlir::IntegerAttr>(*i)) { indices.push_back(intAttr.getInt()); } else { - auto fieldName = i->cast<mlir::StringAttr>().getValue(); + auto fieldName = mlir::cast<mlir::StringAttr>(*i).getValue(); ++i; - auto ty = i->cast<mlir::TypeAttr>().getValue(); + auto ty = mlir::cast<mlir::TypeAttr>(*i).getValue(); auto index = mlir::cast<fir::RecordType>(ty).getFieldIndex(fieldName); indices.push_back(index); } @@ -3014,7 +3014,7 @@ static void selectMatchAndRewrite(const fir::LLVMTypeConverter &lowering, caseValues.push_back(intAttr.getInt()); continue; } - assert(attr.template dyn_cast_or_null<mlir::UnitAttr>()); + assert(mlir::dyn_cast_or_null<mlir::UnitAttr>(attr)); assert((t + 1 == conds) && "unit must be last"); defaultDestination = dest; defaultOperands = destOps ? *destOps : mlir::ValueRange{}; diff --git a/flang/lib/Optimizer/Dialect/FIROps.cpp b/flang/lib/Optimizer/Dialect/FIROps.cpp index a39087aeb358b9..6773d0adced0ce 100644 --- a/flang/lib/Optimizer/Dialect/FIROps.cpp +++ b/flang/lib/Optimizer/Dialect/FIROps.cpp @@ -2498,10 +2498,8 @@ static constexpr llvm::StringRef getTargetOffsetAttr() { template <typename OpT> static mlir::LogicalResult verifyIntegralSwitchTerminator(OpT op) { - if (!op.getSelector() - .getType() - .template isa<mlir::IntegerType, mlir::IndexType, - fir::IntegerType>()) + if (!mlir::isa<mlir::IntegerType, mlir::IndexType, fir::IntegerType>( + op.getSelector().getType())) return op.emitOpError("must be an integer"); auto cases = op->template getAttrOfType<mlir::ArrayAttr>(op.getCasesAttr()).getValue(); @@ -2576,7 +2574,7 @@ static void printIntegralSwitchTerminator(OpT op, mlir::OpAsmPrinter &p) { if (i) p << ", "; auto &attr = cases[i]; - if (auto intAttr = attr.template dyn_cast_or_null<mlir::IntegerAttr>()) + if (auto intAttr = mlir::dyn_cast_or_null<mlir::IntegerAttr>(attr)) p << intAttr.getValue(); else p.printAttribute(attr); diff --git a/flang/lib/Optimizer/Dialect/FIRType.cpp b/flang/lib/Optimizer/Dialect/FIRType.cpp index 38a6a09d1808a6..d9c387ad950e82 100644 --- a/flang/lib/Optimizer/Dialect/FIRType.cpp +++ b/flang/lib/Optimizer/Dialect/FIRType.cpp @@ -695,9 +695,9 @@ BoxProcType::verify(llvm::function_ref<mlir::InFlightDiagnostic()> emitError, } static bool cannotBePointerOrHeapElementType(mlir::Type eleTy) { - return eleTy.isa<BoxType, BoxCharType, BoxProcType, ShapeType, ShapeShiftType, + return mlir::isa<BoxType, BoxCharType, BoxProcType, ShapeType, ShapeShiftType, SliceType, FieldType, LenType, HeapType, PointerType, - ReferenceType, TypeDescType>(); + ReferenceType, TypeDescType>(eleTy); } //===----------------------------------------------------------------------===// @@ -776,10 +776,10 @@ void fir::CharacterType::print(mlir::AsmPrinter &printer) const { mlir::LogicalResult fir::ClassType::verify(llvm::function_ref<mlir::InFlightDiagnostic()> emitError, mlir::Type eleTy) { - if (eleTy.isa<fir::RecordType, fir::SequenceType, fir::HeapType, + if (mlir::isa<fir::RecordType, fir::SequenceType, fir::HeapType, fir::PointerType, mlir::NoneType, mlir::IntegerType, mlir::FloatType, fir::CharacterType, fir::LogicalType, - fir::ComplexType, mlir::ComplexType>()) + fir::ComplexType, mlir::ComplexType>(eleTy)) return mlir::success(); return emitError() << "invalid element type\n"; } @@ -1050,8 +1050,8 @@ void fir::ReferenceType::print(mlir::AsmPrinter &printer) const { mlir::LogicalResult fir::ReferenceType::verify( llvm::function_ref<mlir::InFlightDiagnostic()> emitError, mlir::Type eleTy) { - if (eleTy.isa<ShapeType, ShapeShiftType, SliceType, FieldType, LenType, - ReferenceType, TypeDescType>()) + if (mlir::isa<ShapeType, ShapeShiftType, SliceType, FieldType, LenType, + ReferenceType, TypeDescType>(eleTy)) return emitError() << "cannot build a reference to type: " << eleTy << '\n'; return mlir::success(); } @@ -1126,9 +1126,9 @@ mlir::LogicalResult fir::SequenceType::verify( llvm::ArrayRef<int64_t> shape, mlir::Type eleTy, mlir::AffineMapAttr layoutMap) { // DIMENSION attribute can only be applied to an intrinsic or record type - if (eleTy.isa<BoxType, BoxCharType, BoxProcType, ShapeType, ShapeShiftType, + if (mlir::isa<BoxType, BoxCharType, BoxProcType, ShapeType, ShapeShiftType, ShiftType, SliceType, FieldType, LenType, HeapType, PointerType, - ReferenceType, TypeDescType, SequenceType>()) + ReferenceType, TypeDescType, SequenceType>(eleTy)) return emitError() << "cannot build an array of this element type: " << eleTy << '\n'; return mlir::success(); @@ -1199,9 +1199,9 @@ void fir::TypeDescType::print(mlir::AsmPrinter &printer) const { mlir::LogicalResult fir::TypeDescType::verify( llvm::function_ref<mlir::InFlightDiagnostic()> emitError, mlir::Type eleTy) { - if (eleTy.isa<BoxType, BoxCharType, BoxProcType, ShapeType, ShapeShiftType, + if (mlir::isa<BoxType, BoxCharType, BoxProcType, ShapeType, ShapeShiftType, ShiftType, SliceType, FieldType, LenType, ReferenceType, - TypeDescType>()) + TypeDescType>(eleTy)) return emitError() << "cannot build a type descriptor of type: " << eleTy << '\n'; return mlir::success(); diff --git a/flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp b/flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp index 601bf04ce5e9b3..c61179a7460e32 100644 --- a/flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp +++ b/flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp @@ -1318,11 +1318,9 @@ void SimplifyIntrinsicsPass::runOnOperation() { // Support only floating point and integer arguments // now (e.g. logical is skipped here). - if (!arg1Type->isa<mlir::FloatType>() && - !arg1Type->isa<mlir::IntegerType>()) + if (!mlir::isa<mlir::FloatType, mlir::IntegerType>(*arg1Type)) return; - if (!arg2Type->isa<mlir::FloatType>() && - !arg2Type->isa<mlir::IntegerType>()) + if (!mlir::isa<mlir::FloatType, mlir::IntegerType>(*arg2Type)) return; auto typeGenerator = [&type](fir::FirOpBuilder &builder) { 
@chsigg
Copy link
Contributor Author

chsigg commented Apr 29, 2024

This PR contains the NFC flang bits of PR #90413.

@chsigg chsigg merged commit bd9fdce into llvm:main Apr 29, 2024
@DavidSpickett
Copy link
Collaborator

FYI there are a still a bunch of warnings coming out of MLIR (https://lab.llvm.org/buildbot/#/builders/268/builds/13096) and flang (https://lab.llvm.org/buildbot/#/builders/175/builds/47268).

You won't be getting email about this because your commit email is a noreply address. I'm not saying you have to set an email there, but this is one consequence of not doing so.

I can probably figure out flang, but would appreciate you tracking down the mlir ones, or telling me what patches are in flight since I see some changes in already.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

flang:codegen flang:fir-hlfir flang Flang issues not falling into any other category

3 participants