[Mlir-commits] [llvm] [mlir] eliminating g++ warnings (PR #105520)
Frank Schlimbach
llvmlistbot at llvm.org
Tue Sep 3 08:35:57 PDT 2024
https://github.com/fschlimb updated https://github.com/llvm/llvm-project/pull/105520
>From eef4ce61727e71b22ef492c76bf36199575a235f Mon Sep 17 00:00:00 2001
From: "Schlimbach, Frank" <frank.schlimbach at intel.com>
Date: Wed, 21 Aug 2024 15:10:25 +0200
Subject: [PATCH 01/11] eliminating g++ warnings
---
llvm/lib/IR/DebugProgramInstruction.cpp | 4 ++--
mlir/include/mlir/IR/OpDefinition.h | 7 ++++---
mlir/include/mlir/Pass/Pass.h | 1 +
mlir/include/mlir/Query/Matcher/Marshallers.h | 9 ++++-----
mlir/lib/Analysis/FlatLinearValueConstraints.cpp | 2 +-
mlir/lib/CAPI/IR/IR.cpp | 2 ++
mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp | 6 ++++++
mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp | 2 ++
mlir/lib/Debug/DebuggerExecutionContextHook.cpp | 4 ++--
mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp | 2 +-
mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp | 2 ++
mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp | 1 +
mlir/lib/Dialect/Index/IR/IndexOps.cpp | 2 ++
mlir/unittests/Bytecode/BytecodeTest.cpp | 2 +-
mlir/unittests/Support/CyclicReplacerCacheTest.cpp | 3 ++-
15 files changed, 33 insertions(+), 16 deletions(-)
diff --git a/llvm/lib/IR/DebugProgramInstruction.cpp b/llvm/lib/IR/DebugProgramInstruction.cpp
index c47d1ee4856ba8..8d1eaae7f290c7 100644
--- a/llvm/lib/IR/DebugProgramInstruction.cpp
+++ b/llvm/lib/IR/DebugProgramInstruction.cpp
@@ -477,8 +477,8 @@ Value *DbgVariableRecord::getAddress() const {
return V->getValue();
// When the value goes to null, it gets replaced by an empty MDNode.
- assert(!MD ||
- !cast<MDNode>(MD)->getNumOperands() && "Expected an empty MDNode");
+ assert((!MD ||
+ !cast<MDNode>(MD)->getNumOperands()) && "Expected an empty MDNode");
return nullptr;
}
diff --git a/mlir/include/mlir/IR/OpDefinition.h b/mlir/include/mlir/IR/OpDefinition.h
index 59f094d6690991..1121de858aa632 100644
--- a/mlir/include/mlir/IR/OpDefinition.h
+++ b/mlir/include/mlir/IR/OpDefinition.h
@@ -1593,7 +1593,8 @@ foldTrait(Operation *, ArrayRef<Attribute>, SmallVectorImpl<OpFoldResult> &) {
/// Given a tuple type containing a set of traits, return the result of folding
/// the given operation.
template <typename... Ts>
-static LogicalResult foldTraits(Operation *op, ArrayRef<Attribute> operands,
+static LogicalResult foldTraits([[maybe_unused]] Operation *op,
+ [[maybe_unused]] ArrayRef<Attribute> operands,
SmallVectorImpl<OpFoldResult> &results) {
return success((succeeded(foldTrait<Ts>(op, operands, results)) || ...));
}
@@ -1629,7 +1630,7 @@ verifyTrait(Operation *) {
/// Given a set of traits, return the result of verifying the given operation.
template <typename... Ts>
-LogicalResult verifyTraits(Operation *op) {
+LogicalResult verifyTraits([[maybe_unused]] Operation *op) {
return success((succeeded(verifyTrait<Ts>(op)) && ...));
}
@@ -1649,7 +1650,7 @@ verifyRegionTrait(Operation *) {
/// Given a set of traits, return the result of verifying the regions of the
/// given operation.
template <typename... Ts>
-LogicalResult verifyRegionTraits(Operation *op) {
+LogicalResult verifyRegionTraits([[maybe_unused]] Operation *op) {
return success((succeeded(verifyRegionTrait<Ts>(op)) && ...));
}
} // namespace op_definition_impl
diff --git a/mlir/include/mlir/Pass/Pass.h b/mlir/include/mlir/Pass/Pass.h
index 7725a3a2910bd4..e7ed0a1ac61395 100644
--- a/mlir/include/mlir/Pass/Pass.h
+++ b/mlir/include/mlir/Pass/Pass.h
@@ -94,6 +94,7 @@ class Pass {
Option(Pass &parent, StringRef arg, Args &&...args)
: detail::PassOptions::Option<DataType, OptionParser>(
parent.passOptions, arg, std::forward<Args>(args)...) {}
+ Option &operator=(const Option &other) = default; // gcc11
using detail::PassOptions::Option<DataType, OptionParser>::operator=;
};
/// This class represents a specific pass option that contains a list of
diff --git a/mlir/include/mlir/Query/Matcher/Marshallers.h b/mlir/include/mlir/Query/Matcher/Marshallers.h
index 6ed35ac0ddccc7..d230df042aed04 100644
--- a/mlir/include/mlir/Query/Matcher/Marshallers.h
+++ b/mlir/include/mlir/Query/Matcher/Marshallers.h
@@ -150,11 +150,10 @@ inline bool checkArgTypeAtIndex(llvm::StringRef matcherName,
// Marshaller function for fixed number of arguments
template <typename ReturnType, typename... ArgTypes, size_t... Is>
-static VariantMatcher
-matcherMarshallFixedImpl(void (*matcherFunc)(), llvm::StringRef matcherName,
- SourceRange nameRange,
- llvm::ArrayRef<ParserValue> args, Diagnostics *error,
- std::index_sequence<Is...>) {
+static VariantMatcher matcherMarshallFixedImpl(
+ void (*matcherFunc)(), [[maybe_unused]] llvm::StringRef matcherName,
+ SourceRange nameRange, llvm::ArrayRef<ParserValue> args, Diagnostics *error,
+ std::index_sequence<Is...>) {
using FuncType = ReturnType (*)(ArgTypes...);
// Check if the argument count matches the expected count
diff --git a/mlir/lib/Analysis/FlatLinearValueConstraints.cpp b/mlir/lib/Analysis/FlatLinearValueConstraints.cpp
index e628fb152b52f8..6778029bb5ca64 100644
--- a/mlir/lib/Analysis/FlatLinearValueConstraints.cpp
+++ b/mlir/lib/Analysis/FlatLinearValueConstraints.cpp
@@ -893,7 +893,7 @@ FlatLinearValueConstraints::FlatLinearValueConstraints(IntegerSet set,
set.getNumDims(), set.getNumSymbols(),
/*numLocals=*/0) {
assert(operands.empty() ||
- set.getNumInputs() == operands.size() && "operand count mismatch");
+ (set.getNumInputs() == operands.size() && "operand count mismatch"));
// Set the values for the non-local variables.
for (unsigned i = 0, e = operands.size(); i < e; ++i)
setValue(i, operands[i]);
diff --git a/mlir/lib/CAPI/IR/IR.cpp b/mlir/lib/CAPI/IR/IR.cpp
index 5eb531b70aee05..eb057bcc9d5e56 100644
--- a/mlir/lib/CAPI/IR/IR.cpp
+++ b/mlir/lib/CAPI/IR/IR.cpp
@@ -736,6 +736,8 @@ static mlir::WalkResult unwrap(MlirWalkResult result) {
case MlirWalkResultSkip:
return mlir::WalkResult::skip();
}
+ assert("unknown result in WalkResult::unwrap" == nullptr);
+ return {};
}
void mlirOperationWalk(MlirOperation op, MlirOperationWalkCallback callback,
diff --git a/mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp b/mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
index f1fa411b82914a..c8e10bc669bb6a 100644
--- a/mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
+++ b/mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
@@ -81,6 +81,8 @@ static Operation *createLoadTileSliceIntrinsic(
break;
}
}
+ assert("unknown type in createLoadTileSliceIntrinsic" == nullptr);
+ return nullptr;
}
/// Helper to create an arm_sme.intr.st1*.(horiz|vert)' intrinsic.
@@ -125,6 +127,8 @@ static Operation *createStoreTileSliceIntrinsic(
loc, maskOp, ptr, tileId, tileSliceI32);
}
}
+ assert("unknown type in createStoreTileSliceIntrinsic" == nullptr);
+ return nullptr;
}
IntegerAttr getTileIdOrError(arm_sme::ArmSMETileOpInterface op) {
@@ -850,6 +854,8 @@ struct StreamingVLOpConversion
case arm_sme::TypeSize::Double:
return rewriter.create<arm_sme::aarch64_sme_cntsd>(loc, i64Type);
}
+ assert("unknown type in StreamingVLOpConversion" == nullptr);
+ return nullptr;
}();
rewriter.replaceOpWithNewOp<arith::IndexCastOp>(
streamingVlOp, rewriter.getIndexType(), intrOp->getResult(0));
diff --git a/mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp b/mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp
index b58efc096e2eaf..30705a23d5bb6f 100644
--- a/mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp
+++ b/mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp
@@ -310,6 +310,8 @@ struct ConvertIndexCmpPattern final : OpConversionPattern<CmpOp> {
case IndexCmpPredicate::ULT:
return rewriteCmpOp<spirv::ULessThanOp>(op, adaptor, rewriter);
}
+ assert("Unknown predicate in ConvertIndexCmpPattern" == nullptr);
+ return failure();
}
};
diff --git a/mlir/lib/Debug/DebuggerExecutionContextHook.cpp b/mlir/lib/Debug/DebuggerExecutionContextHook.cpp
index 744a0380ec710b..342888cc9cbcbe 100644
--- a/mlir/lib/Debug/DebuggerExecutionContextHook.cpp
+++ b/mlir/lib/Debug/DebuggerExecutionContextHook.cpp
@@ -301,7 +301,7 @@ void mlirDebuggerAddFileLineColLocBreakpoint(const char *file, int line,
LLVM_ATTRIBUTE_NOINLINE void mlirDebuggerBreakpointHook() {
static LLVM_THREAD_LOCAL void *volatile sink;
- sink = (void *)&sink;
+ sink = (void *)const_cast<void **>(&sink);
}
static void preventLinkerDeadCodeElim() {
@@ -321,7 +321,7 @@ static void preventLinkerDeadCodeElim() {
sink = (void *)mlirDebuggerAddTagBreakpoint;
sink = (void *)mlirDebuggerAddRewritePatternBreakpoint;
sink = (void *)mlirDebuggerAddFileLineColLocBreakpoint;
- sink = (void *)&sink;
+ sink = (void *)const_cast<void **>(&sink);
return true;
}();
(void)initialized;
diff --git a/mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp b/mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
index 3943696364950f..b37f7bd420e0bd 100644
--- a/mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
+++ b/mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
@@ -348,7 +348,7 @@ LogicalResult DPPOp::verify() {
return emitOpError("quad_perm attribute must have exactly 4 elements");
}
for (auto elem : quadPermAttr.getAsRange<IntegerAttr>()) {
- uint32_t num = elem.getInt();
+ int32_t num = elem.getInt();
if (num < 0 || num > 3) {
return emitOpError(
"Each element of quad_perm must be in the range [0, 3]");
diff --git a/mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp b/mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
index 3a2042d23e5346..1ec0e3cd48863f 100644
--- a/mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
+++ b/mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
@@ -137,6 +137,8 @@ static ArrayRef<TileMask> getMasks(ArmSMETileType type) {
case ArmSMETileType::ZAQ:
return ZA_Q_MASKS;
}
+ assert("unknown type in getMasks" == nullptr);
+ return {};
}
class TileAllocator {
diff --git a/mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp b/mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
index 8c3e25355f6087..1db38232e77fe7 100644
--- a/mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
+++ b/mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
@@ -175,6 +175,7 @@ ArrayRef<BlockArgument> ParallelComputeFunctionArgs::lowerBounds() {
return args.drop_front(2 + 1 * numLoops).take_front(numLoops);
}
+[[maybe_unused]]
ArrayRef<BlockArgument> ParallelComputeFunctionArgs::upperBounds() {
return args.drop_front(2 + 2 * numLoops).take_front(numLoops);
}
diff --git a/mlir/lib/Dialect/Index/IR/IndexOps.cpp b/mlir/lib/Dialect/Index/IR/IndexOps.cpp
index 42401dae217ce1..cb5f48f2d603ad 100644
--- a/mlir/lib/Dialect/Index/IR/IndexOps.cpp
+++ b/mlir/lib/Dialect/Index/IR/IndexOps.cpp
@@ -594,6 +594,8 @@ static bool compareSameArgs(IndexCmpPredicate pred) {
case IndexCmpPredicate::ULT:
return false;
}
+ assert("unknown predicate in compareSameArgs" == nullptr);
+ return {};
}
OpFoldResult CmpOp::fold(FoldAdaptor adaptor) {
diff --git a/mlir/unittests/Bytecode/BytecodeTest.cpp b/mlir/unittests/Bytecode/BytecodeTest.cpp
index a37a2afc226453..5f1f8bfd2e1758 100644
--- a/mlir/unittests/Bytecode/BytecodeTest.cpp
+++ b/mlir/unittests/Bytecode/BytecodeTest.cpp
@@ -55,7 +55,7 @@ TEST(Bytecode, MultiModuleWithResource) {
constexpr size_t kAlignment = 0x20;
size_t bufferSize = buffer.size();
buffer.reserve(bufferSize + kAlignment - 1);
- size_t pad = ~(uintptr_t)buffer.data() + 1 & kAlignment - 1;
+ size_t pad = (~(uintptr_t)buffer.data() + 1) & (kAlignment - 1);
buffer.insert(0, pad, ' ');
StringRef alignedBuffer(buffer.data() + pad, bufferSize);
diff --git a/mlir/unittests/Support/CyclicReplacerCacheTest.cpp b/mlir/unittests/Support/CyclicReplacerCacheTest.cpp
index 64a8ab72b69b7d..26f0709f7d8310 100644
--- a/mlir/unittests/Support/CyclicReplacerCacheTest.cpp
+++ b/mlir/unittests/Support/CyclicReplacerCacheTest.cpp
@@ -225,7 +225,8 @@ class CachedCyclicReplacerGraphReplacement : public ::testing::Test {
/// Add a recursive-self-node, i.e. a duplicate of the original node that is
/// meant to represent an indirection to it.
std::pair<Node, int64_t> addRecursiveSelfNode(Graph::Node originalId) {
- return {addNode(originalId, nextRecursionId), nextRecursionId++};
+ auto node = addNode(originalId, nextRecursionId);
+ return {node, nextRecursionId++};
}
void addEdge(Node src, Node sink) { connections.addEdge(src, sink); }
>From 570a1ebbb210968084a97acfee23a5212805e67b Mon Sep 17 00:00:00 2001
From: "Schlimbach, Frank" <frank.schlimbach at intel.com>
Date: Wed, 21 Aug 2024 15:35:55 +0200
Subject: [PATCH 02/11] using llvm_unreachable
---
mlir/lib/CAPI/IR/IR.cpp | 3 +--
mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp | 9 +++------
mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp | 3 +--
mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp | 3 +--
mlir/lib/Dialect/Index/IR/IndexOps.cpp | 3 +--
5 files changed, 7 insertions(+), 14 deletions(-)
diff --git a/mlir/lib/CAPI/IR/IR.cpp b/mlir/lib/CAPI/IR/IR.cpp
index eb057bcc9d5e56..e7e6b11c81b9d3 100644
--- a/mlir/lib/CAPI/IR/IR.cpp
+++ b/mlir/lib/CAPI/IR/IR.cpp
@@ -736,8 +736,7 @@ static mlir::WalkResult unwrap(MlirWalkResult result) {
case MlirWalkResultSkip:
return mlir::WalkResult::skip();
}
- assert("unknown result in WalkResult::unwrap" == nullptr);
- return {};
+ llvm_unreachable("unknown result in WalkResult::unwrap");
}
void mlirOperationWalk(MlirOperation op, MlirOperationWalkCallback callback,
diff --git a/mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp b/mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
index c8e10bc669bb6a..843110206d84e9 100644
--- a/mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
+++ b/mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
@@ -81,8 +81,7 @@ static Operation *createLoadTileSliceIntrinsic(
break;
}
}
- assert("unknown type in createLoadTileSliceIntrinsic" == nullptr);
- return nullptr;
+ llvm_unreachable("unknown type in createLoadTileSliceIntrinsic");
}
/// Helper to create an arm_sme.intr.st1*.(horiz|vert)' intrinsic.
@@ -127,8 +126,7 @@ static Operation *createStoreTileSliceIntrinsic(
loc, maskOp, ptr, tileId, tileSliceI32);
}
}
- assert("unknown type in createStoreTileSliceIntrinsic" == nullptr);
- return nullptr;
+ llvm_unreachable("unknown type in createStoreTileSliceIntrinsic");
}
IntegerAttr getTileIdOrError(arm_sme::ArmSMETileOpInterface op) {
@@ -854,8 +852,7 @@ struct StreamingVLOpConversion
case arm_sme::TypeSize::Double:
return rewriter.create<arm_sme::aarch64_sme_cntsd>(loc, i64Type);
}
- assert("unknown type in StreamingVLOpConversion" == nullptr);
- return nullptr;
+ llvm_unreachable("unknown type in StreamingVLOpConversion");
}();
rewriter.replaceOpWithNewOp<arith::IndexCastOp>(
streamingVlOp, rewriter.getIndexType(), intrOp->getResult(0));
diff --git a/mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp b/mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp
index 30705a23d5bb6f..503d90af6718f2 100644
--- a/mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp
+++ b/mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp
@@ -310,8 +310,7 @@ struct ConvertIndexCmpPattern final : OpConversionPattern<CmpOp> {
case IndexCmpPredicate::ULT:
return rewriteCmpOp<spirv::ULessThanOp>(op, adaptor, rewriter);
}
- assert("Unknown predicate in ConvertIndexCmpPattern" == nullptr);
- return failure();
+ llvm_unreachable("Unknown predicate in ConvertIndexCmpPattern");
}
};
diff --git a/mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp b/mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
index 1ec0e3cd48863f..84556fbefbc9ff 100644
--- a/mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
+++ b/mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
@@ -137,8 +137,7 @@ static ArrayRef<TileMask> getMasks(ArmSMETileType type) {
case ArmSMETileType::ZAQ:
return ZA_Q_MASKS;
}
- assert("unknown type in getMasks" == nullptr);
- return {};
+ llvm_unreachable("unknown type in getMasks");
}
class TileAllocator {
diff --git a/mlir/lib/Dialect/Index/IR/IndexOps.cpp b/mlir/lib/Dialect/Index/IR/IndexOps.cpp
index cb5f48f2d603ad..5ad989b7da126e 100644
--- a/mlir/lib/Dialect/Index/IR/IndexOps.cpp
+++ b/mlir/lib/Dialect/Index/IR/IndexOps.cpp
@@ -594,8 +594,7 @@ static bool compareSameArgs(IndexCmpPredicate pred) {
case IndexCmpPredicate::ULT:
return false;
}
- assert("unknown predicate in compareSameArgs" == nullptr);
- return {};
+ llvm_unreachable("unknown predicate in compareSameArgs");
}
OpFoldResult CmpOp::fold(FoldAdaptor adaptor) {
>From 3129aae9b5d73d2499f56a6a55fe1392fa581861 Mon Sep 17 00:00:00 2001
From: Frank Schlimbach <frank.schlimbach at intel.com>
Date: Wed, 21 Aug 2024 19:07:25 +0200
Subject: [PATCH 03/11] Update
mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
Co-authored-by: Benjamin Maxwell <macdue at dueutil.tech>
---
mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp b/mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
index 843110206d84e9..40a3489f7a4d7b 100644
--- a/mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
+++ b/mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
@@ -852,7 +852,7 @@ struct StreamingVLOpConversion
case arm_sme::TypeSize::Double:
return rewriter.create<arm_sme::aarch64_sme_cntsd>(loc, i64Type);
}
- llvm_unreachable("unknown type in StreamingVLOpConversion");
+ llvm_unreachable("unknown type size in StreamingVLOpConversion");
}();
rewriter.replaceOpWithNewOp<arith::IndexCastOp>(
streamingVlOp, rewriter.getIndexType(), intrOp->getResult(0));
>From 067c535a300c29ec32b613cf7c6628cd805bcb49 Mon Sep 17 00:00:00 2001
From: "Schlimbach, Frank" <frank.schlimbach at intel.com>
Date: Fri, 23 Aug 2024 09:57:22 +0200
Subject: [PATCH 04/11] fixed braces
---
mlir/include/mlir/Pass/Pass.h | 2 +-
mlir/lib/Analysis/FlatLinearValueConstraints.cpp | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/mlir/include/mlir/Pass/Pass.h b/mlir/include/mlir/Pass/Pass.h
index e7ed0a1ac61395..00d2c2dfbd76db 100644
--- a/mlir/include/mlir/Pass/Pass.h
+++ b/mlir/include/mlir/Pass/Pass.h
@@ -94,7 +94,7 @@ class Pass {
Option(Pass &parent, StringRef arg, Args &&...args)
: detail::PassOptions::Option<DataType, OptionParser>(
parent.passOptions, arg, std::forward<Args>(args)...) {}
- Option &operator=(const Option &other) = default; // gcc11
+ Option &operator=(const Option &other) = default; // gcc11 -Wdeprecated-copy
using detail::PassOptions::Option<DataType, OptionParser>::operator=;
};
/// This class represents a specific pass option that contains a list of
diff --git a/mlir/lib/Analysis/FlatLinearValueConstraints.cpp b/mlir/lib/Analysis/FlatLinearValueConstraints.cpp
index 6778029bb5ca64..0d6ff2fd908db9 100644
--- a/mlir/lib/Analysis/FlatLinearValueConstraints.cpp
+++ b/mlir/lib/Analysis/FlatLinearValueConstraints.cpp
@@ -892,8 +892,8 @@ FlatLinearValueConstraints::FlatLinearValueConstraints(IntegerSet set,
set.getNumDims() + set.getNumSymbols() + 1,
set.getNumDims(), set.getNumSymbols(),
/*numLocals=*/0) {
- assert(operands.empty() ||
- (set.getNumInputs() == operands.size() && "operand count mismatch"));
+ assert((operands.empty() || set.getNumInputs() == operands.size()) &&
+ "operand count mismatch");
// Set the values for the non-local variables.
for (unsigned i = 0, e = operands.size(); i < e; ++i)
setValue(i, operands[i]);
>From dcf6b98d7a1fd3823fa2917d49980312522c5569 Mon Sep 17 00:00:00 2001
From: "Schlimbach, Frank" <frank.schlimbach at intel.com>
Date: Fri, 23 Aug 2024 10:06:29 +0200
Subject: [PATCH 05/11] (void *) -> static_cast<void *>(...)
---
mlir/lib/Debug/DebuggerExecutionContextHook.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mlir/lib/Debug/DebuggerExecutionContextHook.cpp b/mlir/lib/Debug/DebuggerExecutionContextHook.cpp
index 342888cc9cbcbe..863113928d5b4f 100644
--- a/mlir/lib/Debug/DebuggerExecutionContextHook.cpp
+++ b/mlir/lib/Debug/DebuggerExecutionContextHook.cpp
@@ -301,7 +301,7 @@ void mlirDebuggerAddFileLineColLocBreakpoint(const char *file, int line,
LLVM_ATTRIBUTE_NOINLINE void mlirDebuggerBreakpointHook() {
static LLVM_THREAD_LOCAL void *volatile sink;
- sink = (void *)const_cast<void **>(&sink);
+ sink = static_cast<void *>(const_cast<void **>(&sink));
}
static void preventLinkerDeadCodeElim() {
@@ -321,7 +321,7 @@ static void preventLinkerDeadCodeElim() {
sink = (void *)mlirDebuggerAddTagBreakpoint;
sink = (void *)mlirDebuggerAddRewritePatternBreakpoint;
sink = (void *)mlirDebuggerAddFileLineColLocBreakpoint;
- sink = (void *)const_cast<void **>(&sink);
+ sink = static_cast<void *>(const_cast<void **>(&sink));
return true;
}();
(void)initialized;
>From d4cdeeb3d36fdc33ece4b011b19c60afa73b2904 Mon Sep 17 00:00:00 2001
From: "Schlimbach, Frank" <frank.schlimbach at intel.com>
Date: Fri, 23 Aug 2024 10:40:20 +0200
Subject: [PATCH 06/11] -Wno-unused-but-set-parameter for gcc<14; no
[[maybe-unused]] for related cases
---
mlir/CMakeLists.txt | 2 +-
mlir/include/mlir/IR/OpDefinition.h | 5 ++---
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/mlir/CMakeLists.txt b/mlir/CMakeLists.txt
index c6d44908a1111d..ec82383b1b3206 100644
--- a/mlir/CMakeLists.txt
+++ b/mlir/CMakeLists.txt
@@ -88,7 +88,7 @@ append_if(C_SUPPORTS_WERROR_MISMATCHED_TAGS "-Werror=mismatched-tags" CMAKE_CXX_
# cases, by marking SelectedCase as used. See
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85827 for details. The issue is
# fixed in GCC 10.
-if(CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "10.0")
+if(CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "14.0")
check_cxx_compiler_flag("-Wno-unused-but-set-parameter" CXX_SUPPORTS_WNO_UNUSED_BUT_SET_PARAMETER)
append_if(CXX_SUPPORTS_WNO_UNUSED_BUT_SET_PARAMETER "-Wno-unused-but-set-parameter" CMAKE_CXX_FLAGS)
endif()
diff --git a/mlir/include/mlir/IR/OpDefinition.h b/mlir/include/mlir/IR/OpDefinition.h
index 1121de858aa632..f6f50a6f024e5c 100644
--- a/mlir/include/mlir/IR/OpDefinition.h
+++ b/mlir/include/mlir/IR/OpDefinition.h
@@ -1593,8 +1593,7 @@ foldTrait(Operation *, ArrayRef<Attribute>, SmallVectorImpl<OpFoldResult> &) {
/// Given a tuple type containing a set of traits, return the result of folding
/// the given operation.
template <typename... Ts>
-static LogicalResult foldTraits([[maybe_unused]] Operation *op,
- [[maybe_unused]] ArrayRef<Attribute> operands,
+static LogicalResult foldTraits(Operation *op, ArrayRef<Attribute> operands,
SmallVectorImpl<OpFoldResult> &results) {
return success((succeeded(foldTrait<Ts>(op, operands, results)) || ...));
}
@@ -1650,7 +1649,7 @@ verifyRegionTrait(Operation *) {
/// Given a set of traits, return the result of verifying the regions of the
/// given operation.
template <typename... Ts>
-LogicalResult verifyRegionTraits([[maybe_unused]] Operation *op) {
+LogicalResult verifyRegionTraits(Operation *op) {
return success((succeeded(verifyRegionTrait<Ts>(op)) && ...));
}
} // namespace op_definition_impl
>From 99f3d3a6f892521034f83290800a06e76808566e Mon Sep 17 00:00:00 2001
From: "Schlimbach, Frank" <frank.schlimbach at intel.com>
Date: Tue, 3 Sep 2024 10:03:03 +0200
Subject: [PATCH 07/11] clang-format
---
llvm/lib/IR/DebugProgramInstruction.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/llvm/lib/IR/DebugProgramInstruction.cpp b/llvm/lib/IR/DebugProgramInstruction.cpp
index 8d1eaae7f290c7..0db908211b553c 100644
--- a/llvm/lib/IR/DebugProgramInstruction.cpp
+++ b/llvm/lib/IR/DebugProgramInstruction.cpp
@@ -477,8 +477,8 @@ Value *DbgVariableRecord::getAddress() const {
return V->getValue();
// When the value goes to null, it gets replaced by an empty MDNode.
- assert((!MD ||
- !cast<MDNode>(MD)->getNumOperands()) && "Expected an empty MDNode");
+ assert((!MD || !cast<MDNode>(MD)->getNumOperands()) &&
+ "Expected an empty MDNode");
return nullptr;
}
>From a3cb5589dc36c8faa0750d7cc00f0f99a122a92a Mon Sep 17 00:00:00 2001
From: "Schlimbach, Frank" <frank.schlimbach at intel.com>
Date: Tue, 3 Sep 2024 16:31:25 +0200
Subject: [PATCH 08/11] rm [[maybe_unused]]
---
mlir/include/mlir/Query/Matcher/Marshallers.h | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/mlir/include/mlir/Query/Matcher/Marshallers.h b/mlir/include/mlir/Query/Matcher/Marshallers.h
index d230df042aed04..6ed35ac0ddccc7 100644
--- a/mlir/include/mlir/Query/Matcher/Marshallers.h
+++ b/mlir/include/mlir/Query/Matcher/Marshallers.h
@@ -150,10 +150,11 @@ inline bool checkArgTypeAtIndex(llvm::StringRef matcherName,
// Marshaller function for fixed number of arguments
template <typename ReturnType, typename... ArgTypes, size_t... Is>
-static VariantMatcher matcherMarshallFixedImpl(
- void (*matcherFunc)(), [[maybe_unused]] llvm::StringRef matcherName,
- SourceRange nameRange, llvm::ArrayRef<ParserValue> args, Diagnostics *error,
- std::index_sequence<Is...>) {
+static VariantMatcher
+matcherMarshallFixedImpl(void (*matcherFunc)(), llvm::StringRef matcherName,
+ SourceRange nameRange,
+ llvm::ArrayRef<ParserValue> args, Diagnostics *error,
+ std::index_sequence<Is...>) {
using FuncType = ReturnType (*)(ArgTypes...);
// Check if the argument count matches the expected count
>From 91d5b7355fca05dccec274750556dd1e26e373ca Mon Sep 17 00:00:00 2001
From: "Schlimbach, Frank" <frank.schlimbach at intel.com>
Date: Tue, 3 Sep 2024 16:40:01 +0200
Subject: [PATCH 09/11] rm [[maybe_unused]]
---
mlir/include/mlir/IR/OpDefinition.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mlir/include/mlir/IR/OpDefinition.h b/mlir/include/mlir/IR/OpDefinition.h
index f6f50a6f024e5c..59f094d6690991 100644
--- a/mlir/include/mlir/IR/OpDefinition.h
+++ b/mlir/include/mlir/IR/OpDefinition.h
@@ -1629,7 +1629,7 @@ verifyTrait(Operation *) {
/// Given a set of traits, return the result of verifying the given operation.
template <typename... Ts>
-LogicalResult verifyTraits([[maybe_unused]] Operation *op) {
+LogicalResult verifyTraits(Operation *op) {
return success((succeeded(verifyTrait<Ts>(op)) && ...));
}
>From ca61cca260020a93bdb403006be0d5aa38b17f8c Mon Sep 17 00:00:00 2001
From: "Schlimbach, Frank" <frank.schlimbach at intel.com>
Date: Tue, 3 Sep 2024 17:28:03 +0200
Subject: [PATCH 10/11] removing unused
ParallelComputeFunctionArgs::upperBounds
---
mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp | 5 -----
1 file changed, 5 deletions(-)
diff --git a/mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp b/mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
index 1db38232e77fe7..a5921e05777555 100644
--- a/mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
+++ b/mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
@@ -175,11 +175,6 @@ ArrayRef<BlockArgument> ParallelComputeFunctionArgs::lowerBounds() {
return args.drop_front(2 + 1 * numLoops).take_front(numLoops);
}
-[[maybe_unused]]
-ArrayRef<BlockArgument> ParallelComputeFunctionArgs::upperBounds() {
- return args.drop_front(2 + 2 * numLoops).take_front(numLoops);
-}
-
ArrayRef<BlockArgument> ParallelComputeFunctionArgs::steps() {
return args.drop_front(2 + 3 * numLoops).take_front(numLoops);
}
>From b1e9060006629ae89ac8ed2bcfe7398b3befc3b8 Mon Sep 17 00:00:00 2001
From: "Schlimbach, Frank" <frank.schlimbach at intel.com>
Date: Tue, 3 Sep 2024 17:35:19 +0200
Subject: [PATCH 11/11] removing unused
ParallelComputeFunctionArgs::upperBounds
---
mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp | 1 -
1 file changed, 1 deletion(-)
diff --git a/mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp b/mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
index a5921e05777555..273101ce5f3e78 100644
--- a/mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
+++ b/mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
@@ -141,7 +141,6 @@ struct ParallelComputeFunctionArgs {
BlockArgument blockSize();
ArrayRef<BlockArgument> tripCounts();
ArrayRef<BlockArgument> lowerBounds();
- ArrayRef<BlockArgument> upperBounds();
ArrayRef<BlockArgument> steps();
ArrayRef<BlockArgument> captures();
More information about the Mlir-commits
mailing list