Lines Matching refs:builder

85     fir::FirOpBuilder &builder = converter.getFirOpBuilder();  in gen()  local
86 mlir::Type idxTy = builder.getIndexType(); in gen()
88 substringBounds.emplace_back(builder.createConvert(loc, idxTy, lb)); in gen()
91 substringBounds.emplace_back(builder.createConvert(loc, idxTy, ub)); in gen()
98 fir::FirOpBuilder &builder = converter.getFirOpBuilder(); in gen() local
99 mlir::Type i32Ty = builder.getI32Type(); // llvm's GEP requires i32 in gen()
100 mlir::Value offset = builder.createIntegerConstant( in gen()
104 return fir::factory::Complex{builder, loc}.getComplexPartType(complexType); in gen()
122 fir::FirOpBuilder &builder = converter.getFirOpBuilder(); in gen() local
123 componentPath.emplace_back(builder.create<fir::FieldIndexOp>( in gen()
164 fir::FirOpBuilder &builder = converter.getFirOpBuilder(); in genRankedArrayRefSubscriptAndBase() local
165 mlir::Type idxTy = builder.getIndexType(); in genRankedArrayRefSubscriptAndBase()
166 mlir::Value one = builder.createIntegerConstant(loc, idxTy, 1); in genRankedArrayRefSubscriptAndBase()
182 fir::factory::readExtent(builder, loc, vector, /*dim=*/0); in genRankedArrayRefSubscriptAndBase()
183 size = builder.createConvert(loc, idxTy, size); in genRankedArrayRefSubscriptAndBase()
193 lb = fir::factory::readLowerBound(builder, loc, loweredBase, in genRankedArrayRefSubscriptAndBase()
198 ub = fir::factory::readExtent(builder, loc, loweredBase, in genRankedArrayRefSubscriptAndBase()
200 lb = builder.createConvert(loc, idxTy, lb); in genRankedArrayRefSubscriptAndBase()
201 ub = builder.createConvert(loc, idxTy, ub); in genRankedArrayRefSubscriptAndBase()
203 stride = builder.createConvert(loc, idxTy, stride); in genRankedArrayRefSubscriptAndBase()
257 fir::FirOpBuilder &builder, mlir::Location loc, in loopOverElementsBase() argument
260 mlir::Value shape = builder.createShape(loc, loweredBase); in loopOverElementsBase()
261 mlir::Value slice = createSlice(builder, loc); in loopOverElementsBase()
267 for (auto [lb, ub, step] : genLoopBounds(builder, loc)) { in loopOverElementsBase()
271 builder.create<fir::IterWhileOp>(loc, lb, ub, step, initialCondition); in loopOverElementsBase()
276 builder.create<fir::ResultOp>(loc, loop.getResult(0)); in loopOverElementsBase()
279 builder.create<fir::DoLoopOp>(loc, lb, ub, step, /*unordered=*/false); in loopOverElementsBase()
283 builder.setInsertionPointToStart(loop.getBody()); in loopOverElementsBase()
290 getElementAt(builder, loc, shape, slice, inductionVariables); in loopOverElementsBase()
294 builder.create<fir::ResultOp>(loc, res); in loopOverElementsBase()
295 builder.setInsertionPointAfter(outerLoop); in loopOverElementsBase()
299 builder.setInsertionPointAfter(outerLoop); in loopOverElementsBase()
305 fir::FirOpBuilder &builder, mlir::Location loc, in loopOverElements() argument
309 builder, loc, elementalGenerator, initialCondition); in loopOverElements()
313 fir::FirOpBuilder &builder, mlir::Location loc, in loopOverElementsWhile() argument
318 builder, loc, elementalGenerator, initialCondition); in loopOverElementsWhile()
322 Fortran::lower::VectorSubscriptBox::createSlice(fir::FirOpBuilder &builder, in createSlice() argument
324 mlir::Type idxTy = builder.getIndexType(); in createSlice()
326 mlir::Value one = builder.createIntegerConstant(loc, idxTy, 1); in createSlice()
327 auto undef = builder.create<fir::UndefOp>(loc, idxTy); in createSlice()
347 return builder.create<fir::SliceOp>(loc, triples, componentPath); in createSlice()
351 Fortran::lower::VectorSubscriptBox::genLoopBounds(fir::FirOpBuilder &builder, in genLoopBounds() argument
353 mlir::Type idxTy = builder.getIndexType(); in genLoopBounds()
354 mlir::Value one = builder.createIntegerConstant(loc, idxTy, 1); in genLoopBounds()
355 mlir::Value zero = builder.createIntegerConstant(loc, idxTy, 0); in genLoopBounds()
364 mlir::Value extent = builder.genExtentFromTriplet( in genLoopBounds()
367 builder, loc, loweredBase, dimension, one); in genLoopBounds()
368 baseLb = builder.createConvert(loc, idxTy, baseLb); in genLoopBounds()
370 ub = builder.create<mlir::arith::SubIOp>(loc, idxTy, extent, one); in genLoopBounds()
371 ub = builder.create<mlir::arith::AddIOp>(loc, idxTy, ub, baseLb); in genLoopBounds()
376 ub = builder.create<mlir::arith::SubIOp>(loc, idxTy, vector.size, one); in genLoopBounds()
385 fir::FirOpBuilder &builder, mlir::Location loc, mlir::Value shape, in getElementAt() argument
388 mlir::Type idxTy = builder.getIndexType(); in getElementAt()
401 mlir::Type refTy = builder.getRefType(vecEleTy); in getElementAt()
402 auto vecEltRef = builder.create<fir::CoordinateOp>( in getElementAt()
405 builder.create<fir::LoadOp>(loc, vecEleTy, vecEltRef); in getElementAt()
407 builder.createConvert(loc, idxTy, vecElt)); in getElementAt()
410 indexes.emplace_back(builder.createConvert(loc, idxTy, i)); in getElementAt()
414 mlir::Type refTy = builder.getRefType(getElementType()); in getElementAt()
415 auto elementAddr = builder.create<fir::ArrayCoorOp>( in getElementAt()
419 builder, loc, loweredBase, elementAddr, slice); in getElementAt()
423 fir::factory::CharacterExprHelper helper{builder, loc}; in getElementAt()