[flang] Use isa/dyn_cast/cast/... free functions. (#90432)
The corresponding member functions are deprecated.
This commit is contained in:
@@ -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()) {
|
||||
|
||||
@@ -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{};
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user