diff --git a/flang/lib/Lower/Bridge.cpp b/flang/lib/Lower/Bridge.cpp index 525fb0e9997b7..0595ca063f407 100644 --- a/flang/lib/Lower/Bridge.cpp +++ b/flang/lib/Lower/Bridge.cpp @@ -6076,7 +6076,7 @@ class FirConverter : public Fortran::lower::AbstractConverter { if (resTy != wrappedSymTy) { // check size of the pointed to type so we can't overflow by writing // double precision to a single precision allocation, etc - LLVM_ATTRIBUTE_UNUSED auto getBitWidth = [this](mlir::Type ty) { + [[maybe_unused]] auto getBitWidth = [this](mlir::Type ty) { // 15.6.2.6.3: differering result types should be integer, real, // complex or logical if (auto cmplx = mlir::dyn_cast_or_null(ty)) diff --git a/flang/lib/Lower/ConvertExpr.cpp b/flang/lib/Lower/ConvertExpr.cpp index d7f94e1f7ca6a..a46d219ba4b2c 100644 --- a/flang/lib/Lower/ConvertExpr.cpp +++ b/flang/lib/Lower/ConvertExpr.cpp @@ -5603,7 +5603,7 @@ class ArrayExprLowering { return newIters; }; if (useTripsForSlice) { - LLVM_ATTRIBUTE_UNUSED auto vectorSubscriptShape = + [[maybe_unused]] auto vectorSubscriptShape = getShape(arrayOperands.back()); auto undef = fir::UndefOp::create(builder, loc, idxTy); trips.push_back(undef); diff --git a/flang/lib/Optimizer/Builder/Character.cpp b/flang/lib/Optimizer/Builder/Character.cpp index a096099a04fe8..155bc0fbd19ce 100644 --- a/flang/lib/Optimizer/Builder/Character.cpp +++ b/flang/lib/Optimizer/Builder/Character.cpp @@ -92,7 +92,7 @@ getCompileTimeLength(const fir::CharBoxValue &box) { /// Detect the precondition that the value `str` does not reside in memory. Such /// values will have a type `!fir.array<...x!fir.char>` or `!fir.char`. -LLVM_ATTRIBUTE_UNUSED static bool needToMaterialize(mlir::Value str) { +[[maybe_unused]] static bool needToMaterialize(mlir::Value str) { return mlir::isa(str.getType()) || fir::isa_char(str.getType()); } diff --git a/flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp b/flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp index a48b7ba8a77df..63a5803878a2d 100644 --- a/flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp +++ b/flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp @@ -21,24 +21,27 @@ //===----------------------------------------------------------------------===// /// Log RAW or WAW conflict. -static void LLVM_ATTRIBUTE_UNUSED logConflict(llvm::raw_ostream &os, - mlir::Value writtenOrReadVarA, - mlir::Value writtenVarB); +[[maybe_unused]] static void logConflict(llvm::raw_ostream &os, + mlir::Value writtenOrReadVarA, + mlir::Value writtenVarB); /// Log when an expression evaluation must be saved. -static void LLVM_ATTRIBUTE_UNUSED logSaveEvaluation(llvm::raw_ostream &os, - unsigned runid, - mlir::Region &yieldRegion, - bool anyWrite); +[[maybe_unused]] static void logSaveEvaluation(llvm::raw_ostream &os, + unsigned runid, + mlir::Region &yieldRegion, + bool anyWrite); /// Log when an assignment is scheduled. -static void LLVM_ATTRIBUTE_UNUSED logAssignmentEvaluation( - llvm::raw_ostream &os, unsigned runid, hlfir::RegionAssignOp assign); +[[maybe_unused]] static void +logAssignmentEvaluation(llvm::raw_ostream &os, unsigned runid, + hlfir::RegionAssignOp assign); /// Log when starting to schedule an order assignment tree. -static void LLVM_ATTRIBUTE_UNUSED logStartScheduling( - llvm::raw_ostream &os, hlfir::OrderedAssignmentTreeOpInterface root); +[[maybe_unused]] static void +logStartScheduling(llvm::raw_ostream &os, + hlfir::OrderedAssignmentTreeOpInterface root); /// Log op if effect value is not known. -static void LLVM_ATTRIBUTE_UNUSED logIfUnkownEffectValue( - llvm::raw_ostream &os, mlir::MemoryEffects::EffectInstance effect, - mlir::Operation &op); +[[maybe_unused]] static void +logIfUnkownEffectValue(llvm::raw_ostream &os, + mlir::MemoryEffects::EffectInstance effect, + mlir::Operation &op); //===----------------------------------------------------------------------===// // Scheduling Implementation @@ -701,23 +704,24 @@ static llvm::raw_ostream &printRegionPath(llvm::raw_ostream &os, return printRegionId(os, yieldRegion); } -static void LLVM_ATTRIBUTE_UNUSED logSaveEvaluation(llvm::raw_ostream &os, - unsigned runid, - mlir::Region &yieldRegion, - bool anyWrite) { +[[maybe_unused]] static void logSaveEvaluation(llvm::raw_ostream &os, + unsigned runid, + mlir::Region &yieldRegion, + bool anyWrite) { os << "run " << runid << " save " << (anyWrite ? "(w)" : " ") << ": "; printRegionPath(os, yieldRegion) << "\n"; } -static void LLVM_ATTRIBUTE_UNUSED logAssignmentEvaluation( - llvm::raw_ostream &os, unsigned runid, hlfir::RegionAssignOp assign) { +[[maybe_unused]] static void +logAssignmentEvaluation(llvm::raw_ostream &os, unsigned runid, + hlfir::RegionAssignOp assign) { os << "run " << runid << " evaluate: "; printNodePath(os, assign.getOperation()) << "\n"; } -static void LLVM_ATTRIBUTE_UNUSED logConflict(llvm::raw_ostream &os, - mlir::Value writtenOrReadVarA, - mlir::Value writtenVarB) { +[[maybe_unused]] static void logConflict(llvm::raw_ostream &os, + mlir::Value writtenOrReadVarA, + mlir::Value writtenVarB) { auto printIfValue = [&](mlir::Value var) -> llvm::raw_ostream & { if (!var) return os << ""; @@ -728,8 +732,9 @@ static void LLVM_ATTRIBUTE_UNUSED logConflict(llvm::raw_ostream &os, printIfValue(writtenVarB) << "\n"; } -static void LLVM_ATTRIBUTE_UNUSED logStartScheduling( - llvm::raw_ostream &os, hlfir::OrderedAssignmentTreeOpInterface root) { +[[maybe_unused]] static void +logStartScheduling(llvm::raw_ostream &os, + hlfir::OrderedAssignmentTreeOpInterface root) { os << "------------ scheduling "; printNodePath(os, root.getOperation()); if (auto funcOp = root->getParentOfType()) @@ -737,9 +742,10 @@ static void LLVM_ATTRIBUTE_UNUSED logStartScheduling( os << "------------\n"; } -static void LLVM_ATTRIBUTE_UNUSED logIfUnkownEffectValue( - llvm::raw_ostream &os, mlir::MemoryEffects::EffectInstance effect, - mlir::Operation &op) { +[[maybe_unused]] static void +logIfUnkownEffectValue(llvm::raw_ostream &os, + mlir::MemoryEffects::EffectInstance effect, + mlir::Operation &op) { if (effect.getValue() != nullptr) return; os << "unknown effected value ("; diff --git a/flang/lib/Optimizer/Transforms/AffinePromotion.cpp b/flang/lib/Optimizer/Transforms/AffinePromotion.cpp index 061a7d201edd3..bdc34186a713b 100644 --- a/flang/lib/Optimizer/Transforms/AffinePromotion.cpp +++ b/flang/lib/Optimizer/Transforms/AffinePromotion.cpp @@ -474,7 +474,7 @@ class AffineLoopConversion : public mlir::OpRewritePattern { mlir::PatternRewriter &rewriter) const override { LLVM_DEBUG(llvm::dbgs() << "AffineLoopConversion: rewriting loop:\n"; loop.dump();); - LLVM_ATTRIBUTE_UNUSED auto loopAnalysis = + [[maybe_unused]] auto loopAnalysis = functionAnalysis.getChildLoopAnalysis(loop); if (!loopAnalysis.canPromoteToAffine()) return rewriter.notifyMatchFailure(loop, "cannot promote to affine"); diff --git a/flang/lib/Optimizer/Transforms/StackArrays.cpp b/flang/lib/Optimizer/Transforms/StackArrays.cpp index 80b3f689efa39..860149942a5c1 100644 --- a/flang/lib/Optimizer/Transforms/StackArrays.cpp +++ b/flang/lib/Optimizer/Transforms/StackArrays.cpp @@ -561,7 +561,7 @@ static mlir::Value convertAllocationType(mlir::PatternRewriter &rewriter, return stack; fir::HeapType firHeapTy = mlir::cast(heapTy); - LLVM_ATTRIBUTE_UNUSED fir::ReferenceType firRefTy = + [[maybe_unused]] fir::ReferenceType firRefTy = mlir::cast(stackTy); assert(firHeapTy.getElementType() == firRefTy.getElementType() && "Allocations must have the same type");