Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
dra_mangle.cxx File Reference
#include <alloca.h>
#include <elf.h>
#include "defs.h"
#include "wn.h"
#include "stab.h"
#include "pu_info.h"
#include "opcode.h"
#include "mempool.h"
#include "cxx_memory.h"
#include "wn_pragmas.h"
#include "config_targ.h"
#include "targ_sim.h"
#include "erbe.h"
#include "strtab.h"
#include "wn_util.h"
#include "dwarf_DST.h"
#include "config.h"
#include "dra_internal.h"
Include dependency graph for dra_mangle.cxx:

Go to the source code of this file.

Functions

static DRA_INFONew_DRA (WN **pwn_addr, ST *array_st, TY_IDX array_ty, WN *block, WN *preamble)
static BOOL Array_TY_OK (TY_IDX array_ty)
static void Insert_Alloca (ST *array_st, INT16 ndims, INT64 esize, WN *dim_size_wn[], WN *block, WN *preamble)
static WNDelete_Dist_Reshape_Pragmas (WN *pwn, WN *block)
static void DRA_Mangle_Entry (WN *entry_wn, INT16 num_formals, DRA_HASH_TABLE *dra_table, DST_ASSOC_INFO *assoc_info)
static void DRA_Mangle_Call_Site (WN *call_wn, OPERATOR call_oper, DRA_HASH_TABLE *dra_table)
static UINT DRA_Preprocess_Entry (WN *entry_wn, INT16 num_formals, DRA_HASH_TABLE *dra_table, BOOL *has_reshaped_formals)
static UINT DRA_Preprocess_Call_Site (WN *call_wn, INT16 num_args, DRA_HASH_TABLE *dra_table, BOOL *has_reshaped_args)
static char * DRA_Insert_Mangling_Sigs (char *orig_name, char mangled_buf[])
static char * DRA_Encode_Parameter (ST *st, TY_IDX ty, char *buf, DRA_HASH_TABLE *dra_table)
static void DRA_Read_Pragmas_In_Block (WN *first, WN *block, WN *preamble, DRA_HASH_TABLE *dra_table)
void DRA_Read_Pragmas (WN *func_nd, DRA_HASH_TABLE *dra_table)
void DRA_Mangle_All (WN *func_wn, DRA_HASH_TABLE *dra_table, PU_Info *pu_info)
WNGet_Preamble_End (WN *entry_wn)
STFind_Return_Registers (TYPE_ID type, PREG_NUM *rreg1, PREG_NUM *rreg2)
static void Change_ST_Of_Current_PU (ST *new_entry_st)

Function Documentation

static BOOL Array_TY_OK ( TY_IDX  array_ty) [static]

Definition at line 561 of file dra_mangle.cxx.

References FALSE, Is_True, KIND_ARRAY, TRUE, WN::ty, TY_AR_const_lbnd(), TY_AR_const_ubnd(), TY_AR_lbnd_val(), TY_AR_ndims(), TY_AR_ubnd_val(), TY_kind(), and Ty_Table.

Referenced by DRA_Read_Pragmas_In_Block().

Here is the call graph for this function:

static void Change_ST_Of_Current_PU ( ST new_entry_st) [static]

Definition at line 725 of file dra_mangle.cxx.

References Current_PU_Info, CURRENT_SYMTAB, pu_info::proc_sym, Scope_tab, SCOPE::st, and ST_st_idx().

Referenced by DRA_Mangle_Entry().

Here is the call graph for this function:

static WN * Delete_Dist_Reshape_Pragmas ( WN pwn,
WN block 
) [static]

Definition at line 676 of file dra_mangle.cxx.

References FmtAssert, next, NULL, OPC_PRAGMA, OPC_XPRAGMA, WN_DELETE_FromBlock(), WN_next(), WN_opcode(), WN_pragma(), WN_PRAGMA_DISTRIBUTE_RESHAPE, and WN_st().

Referenced by DRA_Read_Pragmas_In_Block(), and New_DRA().

Here is the call graph for this function:

static char * DRA_Insert_Mangling_Sigs ( char *  orig_name,
char  mangled_buf[] 
) [static]

Definition at line 1124 of file dra_mangle.cxx.

References DRA_MANGLE_SIG, DRA_MANGLE_SIG_LEN, and strcpy.

Referenced by DRA_Mangle_Call_Site(), and DRA_Mangle_Entry().

static UINT DRA_Preprocess_Call_Site ( WN call_wn,
INT16  num_args,
DRA_HASH_TABLE dra_table,
BOOL has_reshaped_args 
) [static]

Definition at line 1062 of file dra_mangle.cxx.

References arg, DRA_MANGLE_SIG_LEN, Get_Array_Type(), KIND_ARRAY, NULL, OPR_CALL, OPR_LDA, OPR_LDID, ST_name(), TRUE, TY_AR_ndims(), TY_kind(), Ty_Table, WN_actual, WN_kid(), WN_operator(), and WN_st().

Referenced by DRA_Mangle_Call_Site().

Here is the call graph for this function:

static UINT DRA_Preprocess_Entry ( WN entry_wn,
INT16  num_formals,
DRA_HASH_TABLE dra_table,
BOOL has_reshaped_formals 
) [static]

Definition at line 1015 of file dra_mangle.cxx.

References DRA_MANGLE_SIG_LEN, Get_Array_Type(), KIND_ARRAY, NULL, ST_name(), TRUE, TY_AR_ndims(), TY_kind(), Ty_Table, WN_formal, and WN_st().

Referenced by DRA_Mangle_Entry().

Here is the call graph for this function:

void DRA_Read_Pragmas ( WN func_nd,
DRA_HASH_TABLE dra_table 
)

Definition at line 242 of file dra_mangle.cxx.

References block, DRA_Read_Pragmas_In_Block(), Get_Preamble_End(), Set_Error_Phase(), and WN_func_body.

Referenced by DRA_Processing().

Here is the call graph for this function:

WN* Get_Preamble_End ( WN entry_wn)

Definition at line 342 of file dra_mangle.cxx.

References Is_True, NULL, OPC_ALTENTRY, OPC_FUNC_ENTRY, OPC_PRAGMA, wn, WN_entry_first, WN_next(), WN_opcode(), WN_pragma(), and WN_PRAGMA_PREAMBLE_END.

Referenced by DRA_EC_Array_Portion_Parms(), DRA_Read_Pragmas(), and Find_Insertion_Point().

Here is the call graph for this function:

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines