diff --git a/src/PIM/Transforms/PimBufferizationPass.cpp b/src/PIM/Transforms/PimBufferizationPass.cpp index 18d3522..eb3496b 100644 --- a/src/PIM/Transforms/PimBufferizationPass.cpp +++ b/src/PIM/Transforms/PimBufferizationPass.cpp @@ -63,7 +63,7 @@ void PimBufferizationPass::runOnOperation() { void PimBufferizationPass::annotateWeightsMemrefs(ModuleOp moduleOp, func::FuncOp funcOp) const { MLIRContext* ctx = funcOp.getContext(); funcOp.walk([&](memref::GetGlobalOp getGlobalOp) { - bool isAlwaysWeight = llvm::all_of(getGlobalOp->getUsers(), [](auto user) -> bool { return isa(user); }); + bool isAlwaysWeight = llvm::all_of(getGlobalOp->getUsers(), [](auto user) -> bool { return isa(user); }) && !getGlobalOp->getUsers().empty() ; if (isAlwaysWeight) { auto globalMemrefOp = moduleOp.lookupSymbol(getGlobalOp.getName()); assert("Weights must be constants" && globalMemrefOp.getConstant());