Fix some compiler warnings

This commit is contained in:
Martin Erhart 2025-07-17 09:00:33 +01:00
parent 1e70370de2
commit 47d8fe3d05
4 changed files with 19 additions and 9 deletions

View File

@ -49,7 +49,8 @@ public:
/// Return the users of the provided symbol operation.
ArrayRef<Operation *> getUsers(Operation *symbol) const {
auto it = userMap.find(symbol);
return it != userMap.end() ? it->second.getArrayRef() : std::nullopt;
return it != userMap.end() ? it->second.getArrayRef()
: ArrayRef<Operation *>();
}
/// Return true if the given symbol has no uses.

View File

@ -46,7 +46,7 @@ void MachineOp::build(OpBuilder &builder, OperationState &state, StringRef name,
assert(type.getNumInputs() == argAttrs.size());
call_interface_impl::addArgAndResultAttrs(
builder, state, argAttrs,
/*resultAttrs=*/std::nullopt, MachineOp::getArgAttrsAttrName(state.name),
/*resultAttrs=*/{}, MachineOp::getArgAttrsAttrName(state.name),
MachineOp::getResAttrsAttrName(state.name));
}

View File

@ -420,10 +420,13 @@ HandshakeLowerExtmemToHWPass::lowerExtmemToHW(handshake::FuncOp func) {
llvm::SmallVector<Value> newReturnOperands = oldReturnOp.getOperands();
unsigned addedInPorts = 0;
auto memName = func.getArgName(i);
auto addArgRes = [&](unsigned id, NamedType &argType, NamedType &resType) {
auto addArgRes = [&](unsigned id, NamedType &argType,
NamedType &resType) -> FailureOr<Value> {
// Function argument
unsigned newArgIdx = i + addedInPorts;
func.insertArgument(newArgIdx, argType.second, {}, arg.getLoc());
if (failed(
func.insertArgument(newArgIdx, argType.second, {}, arg.getLoc())))
return failure();
insertInStringArrayAttr(func, "argNames",
memName.str() + "_" + argType.first.str(),
newArgIdx);
@ -431,7 +434,8 @@ HandshakeLowerExtmemToHWPass::lowerExtmemToHW(handshake::FuncOp func) {
++addedInPorts;
// Function result.
func.insertResult(func.getNumResults(), resType.second, {});
if (failed(func.insertResult(func.getNumResults(), resType.second, {})))
return failure();
appendToStringArrayAttr(func, "resNames",
memName.str() + "_" + resType.first.str());
return newInPort;
@ -442,8 +446,10 @@ HandshakeLowerExtmemToHWPass::lowerExtmemToHW(handshake::FuncOp func) {
for (auto loadPort : extmemOp.getLoadPorts()) {
auto newInPort = addArgRes(loadPort.index, memIOTypes.inputTypes[portIdx],
memIOTypes.outputTypes[portIdx]);
if (failed(newInPort))
return failure();
newReturnOperands.push_back(
plumbLoadPort(loc, b, loadPort, newInPort, memrefType));
plumbLoadPort(loc, b, loadPort, *newInPort, memrefType));
++portIdx;
}
@ -452,8 +458,10 @@ HandshakeLowerExtmemToHWPass::lowerExtmemToHW(handshake::FuncOp func) {
auto newInPort =
addArgRes(storePort.index, memIOTypes.inputTypes[portIdx],
memIOTypes.outputTypes[portIdx]);
if (failed(newInPort))
return failure();
newReturnOperands.push_back(
plumbStorePort(loc, b, storePort, newInPort,
plumbStorePort(loc, b, storePort, *newInPort,
memIOTypes.outputTypes[portIdx].second, memrefType));
++portIdx;
}
@ -470,7 +478,8 @@ HandshakeLowerExtmemToHWPass::lowerExtmemToHW(handshake::FuncOp func) {
// Erase the original memref argument of the top-level i/o now that it's
// use has been removed.
func.eraseArgument(i + addedInPorts);
if (failed(func.eraseArgument(i + addedInPorts)))
return failure();
eraseFromArrayAttr(func, "argNames", i + addedInPorts);
argReplacements[i] = memIOTypes;

View File

@ -48,7 +48,7 @@ bool Tester::isInteresting(StringRef testCase) const {
// Run the tester.
std::string errMsg;
int result = llvm::sys::ExecuteAndWait(
testScript, testerArgs, /*Env=*/std::nullopt, /*Redirects=*/std::nullopt,
testScript, testerArgs, /*Env=*/std::nullopt, /*Redirects=*/{},
/*SecondsToWait=*/0, /*MemoryLimit=*/0, &errMsg);
if (result < 0)
llvm::report_fatal_error(