Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include <liberrno.h>
#include <stdlib.h>
#include <string.h>
#include <cray/nassert.h>
#include "fio.h"
#include "f90io.h"
Go to the source code of this file.
Classes | |
struct | dovarlist |
struct | strideloop |
Defines | |
#define | DEBUG_90IO 0 |
#define | DD |
#define | MAXDOVAR 7 /* we can't map to dv an implied do deeper than this */ |
#define | MAXITEMS 32 /* max items allowed inside implied do loop */ |
Typedefs | |
typedef struct strideloop | strideloop_t |
Functions | |
static int | _stride_dv (FIOSPTR css, unit *cup, DopeVectorType *dv, int **dovar, xfer_func *func) |
int | _map_to_dv (ioimplieddo_entry *impdo, DopeVectorType *dvptr, int **iarr, struct dovarlist *dovlp) |
int | _strip_mine (FIOSPTR css, unit *cup, xfer_func *func, ioimplieddo_entry *ie, int *retp) |
int | _xfer_iolist (FIOSPTR css, unit *cup, iolist_header *iolist, xfer_func *func) |
long | _tripcnt (long beg, long end, long inc) |
Variables | |
static FILE * | _df |
static int | _ddope_nest = 0 |
static int | _ddope = -1 |
static unit * | _ddcup |
#define DD |
Definition at line 87 of file dopexfer.c.
Referenced by _map_to_dv(), _stride_dv(), _strip_mine(), and _xfer_iolist().
#define DEBUG_90IO 0 |
Definition at line 86 of file dopexfer.c.
Referenced by _map_to_dv(), _stride_dv(), _strip_mine(), and _xfer_iolist().
#define MAXDOVAR 7 /* we can't map to dv an implied do deeper than this */ |
Definition at line 95 of file dopexfer.c.
Referenced by _map_to_dv().
Definition at line 1278 of file dopexfer.c.
Referenced by _strip_mine().
typedef struct strideloop strideloop_t |
int _map_to_dv | ( | ioimplieddo_entry * | impdo, |
DopeVectorType * | dvptr, | ||
int ** | iarr, | ||
struct dovarlist * | dovlp | ||
) |
Definition at line 1012 of file dopexfer.c.
References _cptofcd(), _df, _fcdlen(), _fcdtocp(), _tripcnt(), DopeVector::a, DopeVector::base_addr, DopeVector::charptr, DD, DEBUG_90IO, DopeVector::dimension, dovarlist::dov, ioarray_entry::dovar, ioarray_entry::dv, f, fprintf(), ioarray_entry::indflag, ioimplieddo_entry::iobegcnt, ioimplieddo_entry::ioendcnt, ioimplieddo_entry::ioinccnt, ioimplieddo_entry::ioloopvar, MAXDOVAR, DopeVector::n_dim, NULL, dovarlist::nvar, ret, SMSHIFT, f90_type::type, DopeVector::type_lens, and ioentry_header::valtype.
Referenced by _xfer_iolist().
static int _stride_dv | ( | FIOSPTR | css, |
unit * | cup, | ||
DopeVectorType * | dv, | ||
int ** | dovar, | ||
xfer_func * | func | ||
) | [static] |
Definition at line 528 of file dopexfer.c.
References _df, _fcdlen(), _fcdtocp(), _get_dc_param(), _iochunk(), DopeVector::a, DopeVector::assoc, DopeVector::base_addr, DopeVector::charptr, CHBUFSIZE, type_information_packet::cnvindx, type_information_packet::count, DD, DEBUG_90IO, f90_type::dec_len, DopeVector::dimension, f90_type::dpflag, type_information_packet::elsize, DopeVector::DvDimen::extent, type_information_packet::extlen, FEPTRNAS, fprintf(), i_dim(), f90_type::int_len, type_information_packet::intlen, f90_type::kind_or_star, DopeVector::DvDimen::low_bound, DopeVector::n_dim, NULL, DopeVector::orig_base, DopeVector::orig_size, DopeVector::p_or_a, PARTIAL, DopeVector::ptr_alloc, ret, SMSCALE, SMSHIFT, type_information_packet::stride, DopeVector::DvDimen::stride_mult, f90_type::type, type_information_packet::type77, type_information_packet::type90, DopeVector::type_lens, unit_s::ucharset, unit_s::ufmt, and unit_s::unumcvrt.
Referenced by _xfer_iolist().
int _strip_mine | ( | FIOSPTR | css, |
unit * | cup, | ||
xfer_func * | func, | ||
ioimplieddo_entry * | ie, | ||
int * | retp | ||
) |
Definition at line 1281 of file dopexfer.c.
References _df, _get_dc_param(), _ld_read, _tripcnt(), DopeVector::a, DopeVector::base_addr, strideloop::binc, CHBUFSIZE, type_information_packet::cnvindx, type_information_packet::count, DD, DEBUG_90IO, DopeVector::dimension, ioarray_entry::dovar, ioarray_entry::dv, type_information_packet::elsize, strideloop::elstr, FEINCZER, fprintf(), iolist_header::icount, strideloop::inc, ioarray_entry::indflag, f90_type::int_len, type_information_packet::intlen, ioimplieddo_entry::iobegcnt, ioimplieddo_entry::ioendcnt, ioentry_header::ioentsize, ioimplieddo_entry::ioinccnt, ioimplieddo_entry::ioloopvar, ioscalar_entry::iovar_address, MAXITEMS, DopeVector::n_dim, NULL, PARTIAL, strideloop::saddr, SMSCALE, SMSHIFT, stride, type_information_packet::stride, DopeVector::DvDimen::stride_mult, ioscalar_entry::tinfo, f90_type::type, type_information_packet::type77, type_information_packet::type90, DopeVector::type_lens, unit_s::ucharset, unit_s::ufmt, unit_s::unumcvrt, unit_s::uwrt, gfptr_t::v, and ioentry_header::valtype.
Referenced by _xfer_iolist().
long _tripcnt | ( | long | beg, |
long | end, | ||
long | inc | ||
) |
Definition at line 1228 of file dopexfer.c.
Referenced by _map_to_dv(), and _strip_mine().
int _xfer_iolist | ( | FIOSPTR | css, |
unit * | cup, | ||
iolist_header * | iolist, | ||
xfer_func * | func | ||
) |
Definition at line 136 of file dopexfer.c.
References _ddope_nest, _df, _fcdlen(), _fcdtocp(), _ferr(), _get_dc_param(), _ld_read, _ld_write, _map_to_dv(), _rdfmt, _rdunf, _stride_dv(), _strip_mine(), _wrfmt, _wrunf, DopeVector::a, DopeVector::base_addr, type_information_packet::cnvindx, type_information_packet::count, cup, DD, DEBUG_90IO, f90_type::dec_len, DopeVector::dimension, ioarray_entry::dovar, f90_type::dpflag, ioarray_entry::dv, type_information_packet::elsize, DopeVector::DvDimen::extent, type_information_packet::extlen, unit_s::f_lastiolist, gfptr_t::fcd, FEINCZER, FEINTUNK, fprintf(), FULL, iolist_header::icount, ioarray_entry::indflag, f90_type::int_len, type_information_packet::intlen, ioentry_header::ioentsize, ioscalar_entry::iovar_address, f90_type::kind_or_star, MAXDIM, DopeVector::n_dim, NULL, dovarlist::nvar, PARTIAL, ret, SMSCALE, type_information_packet::stride, DopeVector::DvDimen::stride_mult, ioscalar_entry::tinfo, f90_type::type, type_information_packet::type77, type_information_packet::type90, DopeVector::type_lens, unit_s::ucharset, unit_s::ufmt, unit_s::uid, unit_s::unumcvrt, gfptr_t::v, and ioentry_header::valtype.
Referenced by _FRF(), _FRU(), _FWF(), and _FWU().
Definition at line 57 of file dopexfer.c.
int _ddope = -1 [static] |
Definition at line 56 of file dopexfer.c.
int _ddope_nest = 0 [static] |
Definition at line 55 of file dopexfer.c.
Referenced by _xfer_iolist().
FILE* _df [static] |
Definition at line 54 of file dopexfer.c.
Referenced by _map_to_dv(), _stride_dv(), _strip_mine(), and _xfer_iolist().