Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include "wn.h"
#include "stab.h"
#include "strtab.h"
#include "mtypes.h"
#include "targ_const.h"
#include "config_targ.h"
#include "wn_util.h"
#include "region_util.h"
#include <alloca.h>
#include "data_layout.h"
Go to the source code of this file.
Functions | |
void | Rewrite_Pragmas_On_Structs (WN *block_wn, WN *wn) |
static void | Rewrite_Structs_In_MPRegion (WN *wn, WN *parent_wn, INT count, WN **rewrite_pwn, ST **rewrite_st, TYPE_ID *rewrite_rtype, TYPE_ID *rewrite_desc) |
static BOOL | Tree_Equiv (WN *wn1, WN *wn2) |
static BOOL | Is_Mp_Region (WN *wn) |
static BOOL | Weird_Array_Element (WN *pwn) |
static BOOL | Array_Element_Then_Struct (WN *pwn) |
static INT | Find_Symbol (WN **rewrite_pwn, INT count, ST *st, WN_OFFSET ofst) |
static INT | Find_Reduction_Symbol (WN **rewrite_pwn, INT count, WN *array_wn, INT64 ofst) |
static BOOL Array_Element_Then_Struct | ( | WN * | pwn | ) | [static] |
Definition at line 119 of file rewrite_pragmas.cxx.
References FALSE, Is_True, KIND_ARRAY, KIND_POINTER, KIND_STRUCT, OPR_ARRAY, OPR_LDA, OPR_LDID, OPR_XPRAGMA, ST_type(), TRUE, TY_etype(), TY_kind(), TY_pointed(), WN_array_base, WN_kid0(), WN_operator(), WN_pragma(), WN_PRAGMA_REDUCTION, and WN_st().
Referenced by Rewrite_Pragmas_On_Structs().
static INT Find_Reduction_Symbol | ( | WN ** | rewrite_pwn, |
INT | count, | ||
WN * | array_wn, | ||
INT64 | ofst | ||
) | [static] |
Definition at line 564 of file rewrite_pragmas.cxx.
References OPR_XPRAGMA, Tree_Equiv(), WN_kid0(), WN_operator(), and WN_prefetch_flag().
Referenced by Rewrite_Structs_In_MPRegion().
Definition at line 512 of file rewrite_pragmas.cxx.
References NULL, OPR_PRAGMA, WN_operator(), WN_pragma_arg1(), and WN_st().
Referenced by Rewrite_Structs_In_MPRegion().
static BOOL Is_Mp_Region | ( | WN * | wn | ) | [static] |
Definition at line 65 of file rewrite_pragmas.cxx.
References FALSE.
Referenced by Rewrite_Pragmas_On_Structs().
void Rewrite_Pragmas_On_Structs | ( | WN * | block_wn, |
WN * | wn | ||
) |
Definition at line 168 of file rewrite_pragmas.cxx.
References Array_Element_Then_Struct(), FALSE, FmtAssert, Is_Mp_Region(), Is_True, KIND_STRUCT, Make_Pointer_Type(), MTYPE_V, NULL, OPC_BLOCK, OPR_ARRAY, OPR_ILOAD, OPR_ISTORE, OPR_LDID, OPR_PRAGMA, OPR_STID, OPR_XPRAGMA, Rewrite_Pragmas_On_Structs(), Rewrite_Structs_In_MPRegion(), ST_st_idx(), ST_type(), Tree_Equiv(), TRUE, TY_kind(), Weird_Array_Element(), WN_array_base, WN_COPY_Tree(), WN_CreateIload(), WN_CreateIstore(), WN_CreateLdid(), WN_CreatePragma(), WN_CreateStid(), WN_DELETE_FromBlock(), WN_first(), WN_INSERT_BlockAfter(), WN_INSERT_BlockBefore(), WN_INSERT_BlockFirst, WN_kid(), WN_kid0(), WN_kid_count(), WN_next(), WN_opcode(), WN_operator(), WN_pragma(), WN_pragma_arg1(), WN_pragma_arg2(), WN_pragma_compiler_generated, WN_PRAGMA_FIRSTPRIVATE, WN_PRAGMA_LASTLOCAL, WN_PRAGMA_LOCAL, WN_PRAGMA_REDUCTION, WN_prefetch_flag(), WN_prev(), WN_region_body, WN_region_pragmas, WN_st(), and WN_st_idx().
Referenced by Backend_Processing(), and Rewrite_Pragmas_On_Structs().
static void Rewrite_Structs_In_MPRegion | ( | WN * | wn, |
WN * | parent_wn, | ||
INT | count, | ||
WN ** | rewrite_pwn, | ||
ST ** | rewrite_st, | ||
TYPE_ID * | rewrite_rtype, | ||
TYPE_ID * | rewrite_desc | ||
) | [static] |
Definition at line 589 of file rewrite_pragmas.cxx.
References CLASS_VAR, CURRENT_SYMTAB, EXPORT_LOCAL, FALSE, Find_Reduction_Symbol(), Find_Symbol(), FmtAssert, idx, Is_True, Make_Pointer_Type(), MTYPE_V, name, New_ST(), NULL, OPC_BLOCK, OPR_ARRAY, OPR_ILOAD, OPR_ISTORE, OPR_LDA, OPR_LDID, OPR_PARM, OPR_STID, Pointer_type, Save_Str(), SCLASS_AUTO, ST_class(), ST_Init(), ST_name(), ST_st_idx(), ST_type(), TY_pointed(), wn, WN_COPY_Tree(), WN_CreateLda(), WN_CreateLdid(), WN_CreateStid(), WN_DELETE_FromBlock(), WN_DELETE_Tree(), WN_desc(), WN_first(), WN_INSERT_BlockBefore(), WN_kid(), WN_kid0(), WN_kid1(), WN_kid_count(), WN_next(), WN_offset(), WN_opcode(), WN_operator(), WN_rtype(), WN_st(), WN_st_idx(), and WN_ty().
Referenced by Rewrite_Pragmas_On_Structs().
static BOOL Tree_Equiv | ( | WN * | wn1, |
WN * | wn2 | ||
) | [static] |
Definition at line 532 of file rewrite_pragmas.cxx.
References FALSE, NULL, OPC_BLOCK, TRUE, WN_Equiv(), WN_first(), WN_kid(), WN_kid_count(), WN_next(), and WN_opcode().
Referenced by Find_Reduction_Symbol(), and Rewrite_Pragmas_On_Structs().
static BOOL Weird_Array_Element | ( | WN * | pwn | ) | [static] |
Definition at line 77 of file rewrite_pragmas.cxx.
References FALSE, Is_True, KIND_ARRAY, KIND_POINTER, OPR_ARRAY, OPR_LDA, OPR_LDID, OPR_XPRAGMA, ST_type(), TRUE, TY_kind(), TY_pointed(), WN_array_base, WN_kid0(), WN_operator(), WN_pragma(), WN_PRAGMA_REDUCTION, and WN_st().
Referenced by Rewrite_Pragmas_On_Structs().