Lines Matching refs:funcOp

22 void FuncAnalysisState::startFunctionAnalysis(FuncOp funcOp) {  in startFunctionAnalysis()  argument
23 analyzedFuncOps[funcOp] = FuncOpAnalysisState::InProgress; in startFunctionAnalysis()
24 auto createdEquiv = equivalentFuncArgs.try_emplace(funcOp, IndexMapping()); in startFunctionAnalysis()
26 aliasingFuncArgs.try_emplace(funcOp, IndexToIndexListMapping()); in startFunctionAnalysis()
28 aliasingReturnVals.try_emplace(funcOp, IndexToIndexListMapping()); in startFunctionAnalysis()
29 auto createdRead = readBbArgs.try_emplace(funcOp, BbArgIndexSet()); in startFunctionAnalysis()
30 auto createdWritten = writtenBbArgs.try_emplace(funcOp, BbArgIndexSet()); in startFunctionAnalysis()
47 static func::ReturnOp getAssumedUniqueReturnOp(FuncOp funcOp) { in getAssumedUniqueReturnOp() argument
49 for (Block &b : funcOp.getBody()) { in getAssumedUniqueReturnOp()
64 getBufferizedFunctionArgType(FuncOp funcOp, int64_t index, in getBufferizedFunctionArgType() argument
67 funcOp.getFunctionType().getInput(index).dyn_cast<TensorType>(); in getBufferizedFunctionArgType()
80 auto layoutAttr = funcOp.getArgAttrOfType<AffineMapAttr>( in getBufferizedFunctionArgType()
113 FuncOp funcOp) { in getFuncOpAnalysisState() argument
120 auto it = analyzedFuncOps.find(funcOp); in getFuncOpAnalysisState()
128 static Optional<int64_t> getEquivalentFuncArgIdx(FuncOp funcOp, in getEquivalentFuncArgIdx() argument
131 auto funcOpIt = state.equivalentFuncArgs.find(funcOp); in getEquivalentFuncArgIdx()
150 FuncOp funcOp = getCalledFunction(callOp); in bufferizesToMemoryRead() local
151 assert(funcOp && "expected CallOp to a FuncOp"); in bufferizesToMemoryRead()
153 if (getFuncOpAnalysisState(state, funcOp) != FuncOpAnalysisState::Analyzed) in bufferizesToMemoryRead()
158 return funcState.readBbArgs.lookup(funcOp).contains( in bufferizesToMemoryRead()
165 FuncOp funcOp = getCalledFunction(callOp); in bufferizesToMemoryWrite() local
166 assert(funcOp && "expected CallOp to a FuncOp"); in bufferizesToMemoryWrite()
168 if (getFuncOpAnalysisState(state, funcOp) != FuncOpAnalysisState::Analyzed) in bufferizesToMemoryWrite()
173 return funcState.writtenBbArgs.lookup(funcOp).contains( in bufferizesToMemoryWrite()
180 FuncOp funcOp = getCalledFunction(callOp); in getAliasingOpResult() local
181 assert(funcOp && "expected CallOp to a FuncOp"); in getAliasingOpResult()
182 if (getFuncOpAnalysisState(state, funcOp) != in getAliasingOpResult()
195 funcState.aliasingReturnVals.lookup(funcOp).lookup( in getAliasingOpResult()
207 FuncOp funcOp = getCalledFunction(callOp); in getAliasingOpOperand() local
208 assert(funcOp && "expected CallOp to a FuncOp"); in getAliasingOpOperand()
209 if (getFuncOpAnalysisState(state, funcOp) != in getAliasingOpOperand()
221 auto aliasingFuncArgs = funcState.aliasingFuncArgs.lookup(funcOp).lookup( in getAliasingOpOperand()
232 FuncOp funcOp = getCalledFunction(callOp); in bufferRelation() local
233 assert(funcOp && "expected CallOp to a FuncOp"); in bufferRelation()
234 if (getFuncOpAnalysisState(state, funcOp) != in bufferRelation()
242 getEquivalentFuncArgIdx(funcOp, funcState, opResult.getResultNumber()); in bufferRelation()
264 FuncOp funcOp = getCalledFunction(callOp); in bufferize() local
265 assert(funcOp && "expected CallOp to a FuncOp"); in bufferize()
266 FunctionType funcType = funcOp.getFunctionType(); in bufferize()
336 callOp.getLoc(), funcOp.getSymName(), resultTypes, newOperands); in bufferize()
394 auto funcOp = cast<FuncOp>(op); in bufferize() local
395 FunctionType funcType = funcOp.getFunctionType(); in bufferize()
403 getBufferizedFunctionArgType(funcOp, it.index(), options)); in bufferize()
412 if (funcOp.getBody().empty()) { in bufferize()
416 return funcOp->emitError() << "cannot bufferize bodiless function " in bufferize()
420 funcOp.setType(FunctionType::get(op->getContext(), argTypes, retTypes)); in bufferize()
425 func::ReturnOp returnOp = getAssumedUniqueReturnOp(funcOp); in bufferize()
430 Block &frontBlock = funcOp.getBody().front(); in bufferize()
444 getBufferizedFunctionArgType(funcOp, bbArg.getArgNumber(), options); in bufferize()
453 rewriter.create<bufferization::ToTensorOp>(funcOp.getLoc(), bbArg); in bufferize()
489 funcOp.setType(FunctionType::get(op->getContext(), argTypes, in bufferize()
498 auto funcOp = cast<FuncOp>(op); in isWritable() local
504 if (BoolAttr writable = funcOp.getArgAttrOfType<BoolAttr>( in isWritable()