Lines Matching defs:aref
1562 static bool isSlice(const Fortran::evaluate::ArrayRef &aref) {
1563 for (const Fortran::evaluate::Subscript &sub : aref.subscript())
1571 const Fortran::evaluate::ArrayRef &aref) {
1581 return genOffsetAndCoordinateOp(array, aref);
1584 for (const auto &subsc : llvm::enumerate(aref.subscript())) {
1594 auto baseSym = getFirstSym(aref);
1626 const Fortran::evaluate::ArrayRef &aref) {
1642 assert(arr.getExtents().size() == aref.subscript().size());
1645 for (auto [ext, sub] : llvm::zip(arr.getExtents(), aref.subscript())) {
1683 if (isSlice(aref))
1711 const Fortran::evaluate::ArrayRef &aref) {
1721 for (const auto &sub : aref.subscript()) {
1736 ExtValue gen(const Fortran::evaluate::ArrayRef &aref) {
1737 ExtValue base = aref.base().IsSymbol() ? gen(getFirstSym(aref.base()))
1738 : gen(aref.base().GetComponent());
1741 return genArrayCoorOp(base, aref);
1743 return genCoordinateOp(base, aref);
1756 ExtValue genval(const Fortran::evaluate::ArrayRef &aref) {
1757 return genLoad(gen(aref));