OpenADFortTk (including Open64 and OpenAnalysis references)
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
upc_symtab_utils.h
Go to the documentation of this file.
1
/* -*-Mode: c++;-*- (Tell emacs to use c++ mode) */
2
3
#ifndef upc_symtab_utils_INCLUDED
4
#define upc_symtab_utils_INCLUDED
5
6
7
// #include <opcode.h>
8
#include <
wintrinsic.h
>
9
// #include <wn_core.h>
10
// #include <symtab_defs.h>
11
12
class
WN
;
13
14
typedef
enum
{
15
STRICT_CONSISTENCY
,
16
RELAXED_CONSISTENCY
,
17
NO_CONSISTENCY
18
}
CONSISTENCY_class
;
19
20
21
/* UPC specific */
22
extern
TY_IDX
shared_ptr_idx
;
23
extern
TY_IDX
pshared_ptr_idx
;
24
extern
int
compiling_upc
;
25
26
27
/* synchronization */
28
29
#define UPCR_BARRIERFLAG_ANONYMOUS 1
/* keep this consistent with upcr.h */
30
#define UPCR_BARRIERVAL_ANONYMOUS 0xdeadbeef
31
32
#define MAX_LINE_LEN_UPC 100
33
34
// extern const char *upc_ptradd_name;
35
extern
char
*
shared_ptr_name
;
36
extern
ST
*
upc_ptradd_st
;
37
extern
ST
*
upc_ptrdiff_st
;
38
extern
ST
*
upc_ptrget_st
;
39
extern
ST
*
upc_ptrput_st
;
40
extern
ST
*
upc_putblock_st
;
41
extern
ST
*
upc_getblock_st
;
42
extern
ST
*
upc_threadof_st
;
43
extern
ST
*
upc_mythread_st
;
44
extern
ST
*
upc_memget_st
;
45
extern
ST
*
upc_memput_st
;
46
extern
ST
*
upc_memcpy_st
;
47
extern
ST
*
upc_adddisp_st
;
48
extern
ST
*
upc_getshared_st
;
49
extern
ST
*
upc_phreset_st
;
50
extern
ST
*
upc_nulleq_st
;
51
extern
ST
*
upc_nullneq_st
;
52
extern
ST
*
upc_ptreqtest_st
;
53
extern
ST
*
upc_ptrneqtest_st
;
54
extern
TY_IDX
upc_hsync_reg_ty
;
55
extern
TY_IDX
upc_hsync_mem_ty
;
56
extern
ST
*
upc_forall_control_st
;
57
58
extern
void
Save_Upc_Rts_Calls
(
char
*
name
,
ST
*st);
59
extern
void
Upc_Translate_Name
(
char
*from,
char
**to);
60
extern
void
Initialize_Upc_Metadata
();
61
extern
void
Initialize_Upc_Vars
();
62
extern
void
Find_Upc_Vars
();
63
extern
void
Verify_Upc_Metadata
();
64
extern
void
Initialize_Upc_Types
(
char
*,
UINT
,
char
*,
UINT
,
char
*,
UINT
,
char
*,
UINT
);
65
extern
void
Upc_Lower_SymbolTable
();
66
extern
void
Create_Special_Shared_Global_Symbols
();
67
extern
UINT64
Get_Type_Inner_Size
(
TY_IDX
idx
);
68
extern
TY_IDX
Get_Inner_Array_Type
(
TY_IDX
idx
);
69
extern
TY_IDX
TY_To_Sptr_Idx
(
TY_IDX
);
70
extern
UINT
Get_Type_Block_Size
(
TY_IDX
idx
);
71
extern
BOOL
WN_Type_Is_Shared_Ptr
(
const
WN
* wn,
BOOL
real_ptr =
FALSE
);
72
extern
BOOL
Type_Is_Shared_Ptr
(
TY_IDX
idx
,
BOOL
real_ptr =
FALSE
);
73
extern
TY_IDX
Fix_Intrinsic_Return_Type
(
INTRINSIC
i);
74
extern
BOOL
Types_Are_Equiv
(
TY_IDX
idx1,
TY_IDX
idx2);
75
extern
BOOL
Need_StoP_Cvt
(
TY_IDX
src_idx,
TY_IDX
dest_idx,
INTRINSIC
*iop);
76
77
extern
BOOL
TY_is_pshared
(
TY_IDX
idx
);
78
extern
BOOL
Use_32_Bit
(
const
char
* filename);
79
extern
UINT
Adjust_Field_Offset
(
TY_IDX
struct_idx,
UINT
field_id);
80
extern
UINT
Adjust_Field_Offset
(
TY
& struct_idx,
UINT
field_id);
81
extern
TY_IDX
MTYPE_TO_Shared_TY_array
[
MTYPE_LAST
+1];
82
extern
TY_IDX
Get_Field_Type
(
TY_IDX
struct_type,
UINT
field_id);
83
extern
UINT
Adjusted_Type_Size
(
TY_IDX
idx
,
unsigned
int
pshared = 0,
unsigned
int
shared = 0);
84
extern
bool
is_upcr_ptr
(
TY_IDX
ty
);
85
86
#define MTYPE_To_Shared_TY(t) MTYPE_TO_Shared_TY_array[t]
87
88
#endif
/* upc_symtab_utils_INCLUDED */
Open64
osprey1.0
common
com
upc_symtab_utils.h
Generated on Fri Mar 14 2014 04:23:02 for OpenADFortTk (including Open64 and OpenAnalysis references) by
1.8.4