Skip to content

Commit d5746d7

Browse files
fschlimbMacDuerengolin
authored
eliminating g++ warnings (#105520)
Eliminating g++ warnings. Mostly declaring "[[maybe_unused]]", adding return statements where missing and fixing casts. @rengolin --------- Co-authored-by: Benjamin Maxwell <[email protected]> Co-authored-by: Renato Golin <[email protected]>
1 parent b55c52c commit d5746d7

File tree

13 files changed

+32
-24
lines changed

13 files changed

+32
-24
lines changed

llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2849,7 +2849,7 @@ void AsmPrinter::emitJumpTableSizesSection(const MachineJumpTableInfo *MJTI,
28492849

28502850
if (isElf) {
28512851
MCSymbolELF *LinkedToSym = dyn_cast<MCSymbolELF>(CurrentFnSym);
2852-
int Flags = F.hasComdat() ? (unsigned)ELF::SHF_GROUP : 0;
2852+
int Flags = F.hasComdat() ? static_cast<int>(ELF::SHF_GROUP) : 0;
28532853

28542854
JumpTableSizesSection = OutContext.getELFSection(
28552855
sectionName, ELF::SHT_LLVM_JT_SIZES, Flags, 0, GroupName, F.hasComdat(),

mlir/CMakeLists.txt

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,20 @@ check_c_compiler_flag("-Werror=mismatched-tags" C_SUPPORTS_WERROR_MISMATCHED_TAG
8484
append_if(C_SUPPORTS_WERROR_MISMATCHED_TAGS "-Werror=mismatched-tags" CMAKE_C_FLAGS)
8585
append_if(C_SUPPORTS_WERROR_MISMATCHED_TAGS "-Werror=mismatched-tags" CMAKE_CXX_FLAGS)
8686

87-
# Silence a false positive GCC -Wunused-but-set-parameter warning in constexpr
88-
# cases, by marking SelectedCase as used. See
89-
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85827 for details. The issue is
90-
# fixed in GCC 10.
91-
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "10.0")
92-
check_cxx_compiler_flag("-Wno-unused-but-set-parameter" CXX_SUPPORTS_WNO_UNUSED_BUT_SET_PARAMETER)
93-
append_if(CXX_SUPPORTS_WNO_UNUSED_BUT_SET_PARAMETER "-Wno-unused-but-set-parameter" CMAKE_CXX_FLAGS)
87+
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
88+
# Silence a false positive GCC -Wunused-but-set-parameter warning in
89+
# constexpr cases. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85827
90+
# for details
91+
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "14.0")
92+
check_cxx_compiler_flag("-Wno-unused-but-set-parameter" CXX_SUPPORTS_WNO_UNUSED_BUT_SET_PARAMETER)
93+
append_if(CXX_SUPPORTS_WNO_UNUSED_BUT_SET_PARAMETER "-Wno-unused-but-set-parameter" CMAKE_CXX_FLAGS)
94+
endif()
95+
# Silence a false positive GCC -Wdeprecated-copy warning in cases where
96+
# a copy operator is defined through "using" a base class copy operator.
97+
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "12.0")
98+
check_cxx_compiler_flag("-Wno-deprecated-copy" CXX_SUPPORTS_WNO_DEPRECTAED_COPY)
99+
append_if(CXX_SUPPORTS_WNO_DEPRECTAED_COPY "-Wno-deprecated-copy" CMAKE_CXX_FLAGS)
100+
endif()
94101
endif()
95102

96103
# Installing the headers and docs needs to depend on generating any public

mlir/lib/CAPI/IR/IR.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -736,6 +736,7 @@ static mlir::WalkResult unwrap(MlirWalkResult result) {
736736
case MlirWalkResultSkip:
737737
return mlir::WalkResult::skip();
738738
}
739+
llvm_unreachable("unknown result in WalkResult::unwrap");
739740
}
740741

741742
void mlirOperationWalk(MlirOperation op, MlirOperationWalkCallback callback,

mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ static Operation *createLoadTileSliceIntrinsic(
8181
break;
8282
}
8383
}
84+
llvm_unreachable("unknown type in createLoadTileSliceIntrinsic");
8485
}
8586

8687
/// Helper to create an arm_sme.intr.st1*.(horiz|vert)' intrinsic.
@@ -125,6 +126,7 @@ static Operation *createStoreTileSliceIntrinsic(
125126
loc, maskOp, ptr, tileId, tileSliceI32);
126127
}
127128
}
129+
llvm_unreachable("unknown type in createStoreTileSliceIntrinsic");
128130
}
129131

130132
IntegerAttr getTileIdOrError(arm_sme::ArmSMETileOpInterface op) {
@@ -850,6 +852,7 @@ struct StreamingVLOpConversion
850852
case arm_sme::TypeSize::Double:
851853
return rewriter.create<arm_sme::aarch64_sme_cntsd>(loc, i64Type);
852854
}
855+
llvm_unreachable("unknown type size in StreamingVLOpConversion");
853856
}();
854857
rewriter.replaceOpWithNewOp<arith::IndexCastOp>(
855858
streamingVlOp, rewriter.getIndexType(), intrOp->getResult(0));

mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,7 @@ struct ConvertIndexCmpPattern final : OpConversionPattern<CmpOp> {
310310
case IndexCmpPredicate::ULT:
311311
return rewriteCmpOp<spirv::ULessThanOp>(op, adaptor, rewriter);
312312
}
313+
llvm_unreachable("Unknown predicate in ConvertIndexCmpPattern");
313314
}
314315
};
315316

mlir/lib/Debug/DebuggerExecutionContextHook.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ void mlirDebuggerAddFileLineColLocBreakpoint(const char *file, int line,
301301

302302
LLVM_ATTRIBUTE_NOINLINE void mlirDebuggerBreakpointHook() {
303303
static LLVM_THREAD_LOCAL void *volatile sink;
304-
sink = (void *)&sink;
304+
sink = static_cast<void *>(const_cast<void **>(&sink));
305305
}
306306

307307
static void preventLinkerDeadCodeElim() {
@@ -321,7 +321,7 @@ static void preventLinkerDeadCodeElim() {
321321
sink = (void *)mlirDebuggerAddTagBreakpoint;
322322
sink = (void *)mlirDebuggerAddRewritePatternBreakpoint;
323323
sink = (void *)mlirDebuggerAddFileLineColLocBreakpoint;
324-
sink = (void *)&sink;
324+
sink = static_cast<void *>(const_cast<void **>(&sink));
325325
return true;
326326
}();
327327
(void)initialized;

mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ LogicalResult DPPOp::verify() {
349349
return emitOpError("quad_perm attribute must have exactly 4 elements");
350350
}
351351
for (auto elem : quadPermAttr.getAsRange<IntegerAttr>()) {
352-
uint32_t num = elem.getInt();
352+
int32_t num = elem.getInt();
353353
if (num < 0 || num > 3) {
354354
return emitOpError(
355355
"Each element of quad_perm must be in the range [0, 3]");

mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ static ArrayRef<TileMask> getMasks(ArmSMETileType type) {
137137
case ArmSMETileType::ZAQ:
138138
return ZA_Q_MASKS;
139139
}
140+
llvm_unreachable("unknown type in getMasks");
140141
}
141142

142143
class TileAllocator {

mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,6 @@ struct ParallelComputeFunctionArgs {
141141
BlockArgument blockSize();
142142
ArrayRef<BlockArgument> tripCounts();
143143
ArrayRef<BlockArgument> lowerBounds();
144-
ArrayRef<BlockArgument> upperBounds();
145144
ArrayRef<BlockArgument> steps();
146145
ArrayRef<BlockArgument> captures();
147146

@@ -175,10 +174,6 @@ ArrayRef<BlockArgument> ParallelComputeFunctionArgs::lowerBounds() {
175174
return args.drop_front(2 + 1 * numLoops).take_front(numLoops);
176175
}
177176

178-
ArrayRef<BlockArgument> ParallelComputeFunctionArgs::upperBounds() {
179-
return args.drop_front(2 + 2 * numLoops).take_front(numLoops);
180-
}
181-
182177
ArrayRef<BlockArgument> ParallelComputeFunctionArgs::steps() {
183178
return args.drop_front(2 + 3 * numLoops).take_front(numLoops);
184179
}

mlir/lib/Dialect/Index/IR/IndexOps.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -594,6 +594,7 @@ static bool compareSameArgs(IndexCmpPredicate pred) {
594594
case IndexCmpPredicate::ULT:
595595
return false;
596596
}
597+
llvm_unreachable("unknown predicate in compareSameArgs");
597598
}
598599

599600
OpFoldResult CmpOp::fold(FoldAdaptor adaptor) {

mlir/lib/Transforms/Utils/DialectConversion.cpp

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1045,9 +1045,8 @@ UnresolvedMaterializationRewrite::UnresolvedMaterializationRewrite(
10451045
const TypeConverter *converter, MaterializationKind kind, Type originalType)
10461046
: OperationRewrite(Kind::UnresolvedMaterialization, rewriterImpl, op),
10471047
converterAndKind(converter, kind), originalType(originalType) {
1048-
assert(!originalType ||
1049-
kind == MaterializationKind::Target &&
1050-
"original type is valid only for target materializations");
1048+
assert((!originalType || kind == MaterializationKind::Target) &&
1049+
"original type is valid only for target materializations");
10511050
rewriterImpl.unresolvedMaterializations[op] = this;
10521051
}
10531052

@@ -1337,9 +1336,8 @@ Value ConversionPatternRewriterImpl::buildUnresolvedMaterialization(
13371336
MaterializationKind kind, OpBuilder::InsertPoint ip, Location loc,
13381337
ValueRange inputs, Type outputType, Type originalType,
13391338
const TypeConverter *converter) {
1340-
assert(!originalType ||
1341-
kind == MaterializationKind::Target &&
1342-
"original type is valid only for target materializations");
1339+
assert((!originalType || kind == MaterializationKind::Target) &&
1340+
"original type is valid only for target materializations");
13431341

13441342
// Avoid materializing an unnecessary cast.
13451343
if (inputs.size() == 1 && inputs.front().getType() == outputType)

mlir/unittests/Bytecode/BytecodeTest.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ TEST(Bytecode, MultiModuleWithResource) {
5454
constexpr size_t kAlignment = 0x20;
5555
size_t bufferSize = buffer.size();
5656
buffer.reserve(bufferSize + kAlignment - 1);
57-
size_t pad = ~(uintptr_t)buffer.data() + 1 & kAlignment - 1;
57+
size_t pad = (~(uintptr_t)buffer.data() + 1) & (kAlignment - 1);
5858
buffer.insert(0, pad, ' ');
5959
StringRef alignedBuffer(buffer.data() + pad, bufferSize);
6060

mlir/unittests/Support/CyclicReplacerCacheTest.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,8 @@ class CachedCyclicReplacerGraphReplacement : public ::testing::Test {
225225
/// Add a recursive-self-node, i.e. a duplicate of the original node that is
226226
/// meant to represent an indirection to it.
227227
std::pair<Node, int64_t> addRecursiveSelfNode(Graph::Node originalId) {
228-
return {addNode(originalId, nextRecursionId), nextRecursionId++};
228+
auto node = addNode(originalId, nextRecursionId);
229+
return {node, nextRecursionId++};
229230
}
230231
void addEdge(Node src, Node sink) { connections.addEdge(src, sink); }
231232

0 commit comments

Comments
 (0)