osprey/dipa/rta/open64/wn_core.h File Reference

#include "workaround.h"
#include "wintrinsic.h"
#include "wio.h"

Include dependency graph for wn_core.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Types

module  WN
module  STMT_WN

Defines

#define MAX_FIELD_ID   0x3ffe
#define UNKNOWN_FIELD_ID   0x3fff
#define WN_num_dim(x)   (WN_kid_count(x)>>1)
#define WN_asm_clobbers(x)   (WN_kid0(x))
#define WN_asm_constraints(x)   (WN_kid1(x))
#define WN_has_sym(x)   (OPERATOR_has_sym(WN_operator(x)))
#define WN_parm_flag(x)   WN_call_flag(x)
#define WN_region_is_EH(x)   (WN_region_kind(x) & REGION_KIND_EH)
#define WN_label_loop_info(x)   (WN_kid_count(x)>0 ? WN_kid((x),0) : NULL)
#define WN_set_label_loop_info(x, li)   (WN_kid0(x) = (li))
#define WN_PRAGMA_COMPILER_GENERATED   0x01
#define WN_PRAGMA_OMP   0x02
#define WN_pragma_compiler_generated(x)   ((WN_pragma_flags(x))&WN_PRAGMA_COMPILER_GENERATED)
#define WN_set_pragma_compiler_generated(x)   ((WN_pragma_flags(x))|=WN_PRAGMA_COMPILER_GENERATED)
#define WN_pragma_omp(x)   ((WN_pragma_flags(x)) & WN_PRAGMA_OMP)
#define WN_set_pragma_omp(x)   ((WN_pragma_flags(x)) |= WN_PRAGMA_OMP)
#define WN_reset_pragma_omp(x)   ((WN_pragma_flags(x)) &= ~(WN_PRAGMA_OMP))
#define WN_entry_name(x)   WN_st_idx(x)
#define WN_formal(x, i)   WN_kid((x),i)
#define WN_num_formals(x)   (WN_kid_count(x)-3)
#define WN_func_pragmas(x)   WN_kid((x),WN_kid_count(x)-3)
#define WN_func_varrefs(x)   WN_kid((x),WN_kid_count(x)-2)
#define WN_func_body(x)   WN_kid((x),WN_kid_count(x)-1)
#define WN_entry_first(x)   WN_first(WN_func_body(x))
#define WN_entry_last(x)   WN_last(WN_func_body(x))
#define WN_actual(x, i)   WN_kid((x),i)
#define WN_index(x)   WN_kid((x),0)
#define WN_start(x)   WN_kid((x),1)
#define WN_end(x)   WN_kid((x),2)
#define WN_step(x)   WN_kid((x),3)
#define WN_do_body(x)   WN_kid((x),4)
#define WN_do_loop_info(x)   (WN_kid_count(x)>5 ? WN_kid((x),5) : NULL)
#define WN_set_do_loop_info(x, li)   (WN_kid((x),5) = (li))
#define WN_while_test(x)   WN_kid((x),0)
#define WN_while_body(x)   WN_kid((x),1)
#define WN_if_test(x)   WN_kid((x),0)
#define WN_then(x)   WN_kid((x),1)
#define WN_else(x)   WN_kid((x),2)
#define WN_else_is_empty(x)   (WN_first(WN_else(x)) == NULL)
#define WN_region_exits(x)   WN_kid((x),0)
#define WN_region_pragmas(x)   WN_kid((x),1)
#define WN_region_body(x)   WN_kid((x),2)
#define WN_array_index(x, i)   WN_kid((x),WN_num_dim(x)+i+1)
#define WN_array_dim(x, i)   WN_kid((x),i+1)
#define WN_array_base(x)   WN_kid((x),0)
#define WN_loop_induction(x)   (WN_kid_count(x)>0 ? WN_kid((x),0) : NULL)
#define WN_set_loop_induction(x, ind)   (WN_kid((x),0) = (ind))
#define WN_loop_trip(x)   (WN_kid_count(x)>1 ? WN_kid((x),1) : NULL)
#define WN_set_loop_trip(x, trip)   (WN_kid((x),1) = (trip))
#define WN_switch_test(x)   WN_kid((x),0)
#define WN_switch_table(x)   WN_kid((x),1)
#define WN_switch_default(x)   WN_kid((x),2)
#define max(a, b)   ((a > b) ? a : b)
#define WN_operator_is(x, y)   (WN_operator(x)==(y))
#define WN_class(x)   (ST_class(WN_st(x)))
#define WN_sclass(x)   (ST_sclass(WN_st(x)))
#define WN_type(x)   (ST_type(WN_st(x)))
#define WN_has_map_id(x)   (WN_map_id(x)!= -1)
#define WN_block_empty(x)   (WN_first(x) == NULL)
#define WN_block_nonempty(x)   (WN_first(x) != NULL)
#define WN_IF_IS_GUARD   0x1
#define WN_Is_If_Guard(x)   (WN_if_flag(x) & WN_IF_IS_GUARD)
#define WN_Set_If_Guard(x)   (WN_if_flag(x) |= WN_IF_IS_GUARD)
#define WN_Reset_If_Guard(x)   (WN_if_flag(x) &= ~(WN_IF_IS_GUARD))
#define WN_IF_IS_MPVERSION   0x2
#define WN_Is_If_MpVersion(x)   (WN_if_flag(x) & WN_IF_IS_MPVERSION)
#define WN_Set_If_MpVersion(x)   (WN_if_flag(x) |= WN_IF_IS_MPVERSION)
#define WN_Reset_If_MpVersion(x)   (WN_if_flag(x) &= ~(WN_IF_IS_MPVERSION))
#define WN_LABEL_BREAK   0x1
#define WN_Label_Is_Break(x)   (WN_label_flag(x) & WN_LABEL_BREAK)
#define WN_Set_Label_Is_Break(x)   (WN_label_flag(x) |= WN_LABEL_BREAK)
#define WN_Reset_Label_Is_Break(x)   (WN_label_flag(x) &= ~(WN_LABEL_BREAK))
#define WN_LOOP_INNERMOST   0x1
#define WN_LOOP_WINDDOWN_REG   0x2
#define WN_LOOP_WINDDOWN_CACHE   0x4
#define WN_LOOP_UNIMPORTANT_MISC   0x8
#define WN_LOOP_NZ_TRIP   0x10
#define WN_LOOP_SYMB_TRIP   0x20
#define WN_Loop_Innermost(x)   (WN_loop_flag(x) & WN_LOOP_INNERMOST)
#define WN_Set_Loop_Innermost(x)   (WN_loop_flag(x) |= WN_LOOP_INNERMOST)
#define WN_Reset_Loop_Innermost(x)   (WN_loop_flag(x) &= ~WN_LOOP_INNERMOST)
#define WN_Loop_Winddown_Reg(x)   (WN_loop_flag(x) & WN_LOOP_WINDDOWN_REG)
#define WN_Set_Loop_Winddown_Reg(x)   (WN_loop_flag(x) |= WN_LOOP_WINDDOWN_REG)
#define WN_Reset_Loop_Winddown_Reg(x)   (WN_loop_flag(x) &= ~WN_LOOP_WINDDOWN_REG)
#define WN_Loop_Winddown_Cache(x)   (WN_loop_flag(x) & WN_LOOP_WINDDOWN_CACHE)
#define WN_Set_Loop_Winddown_Cache(x)   (WN_loop_flag(x) |= WN_LOOP_WINDDOWN_CACHE)
#define WN_Reset_Loop_Winddown_Cache(x)   (WN_loop_flag(x) &= ~WN_LOOP_WINDDOWN_CACHE)
#define WN_Loop_Unimportant_Misc(x)   (WN_loop_flag(x) & WN_LOOP_UNIMPORTANT_MISC)
#define WN_Set_Loop_Unimportant_Misc(x)   (WN_loop_flag(x) |= WN_LOOP_UNIMPORTANT_MISC)
#define WN_Reset_Loop_Unimportant_Misc(x)   (WN_loop_flag(x) &= ~WN_LOOP_UNIMPORTANT_MISC)
#define WN_Loop_Unimportant(x)
#define WN_Loop_Nz_Trip(x)   (WN_loop_flag(x) & WN_LOOP_NZ_TRIP)
#define WN_Set_Loop_Nz_Trip(x)   (WN_loop_flag(x) |= WN_LOOP_NZ_TRIP)
#define WN_Reset_Loop_Nz_Trip(x)   (WN_loop_flag(x) &= ~WN_LOOP_NZ_TRIP)
#define WN_Loop_Symb_Trip(x)   (WN_loop_flag(x) & WN_LOOP_SYMB_TRIP)
#define WN_Set_Loop_Symb_Trip(x)   (WN_loop_flag(x) |= WN_LOOP_SYMB_TRIP)
#define WN_Reset_Loop_Symb_Trip(x)   (WN_loop_flag(x) &= ~WN_LOOP_SYMB_TRIP)
#define WN_LABEL_HANDLER_BEGIN   0x2
#define WN_Label_Is_Handler_Begin(x)
#define WN_Set_Label_Is_Handler_Begin(x)
#define WN_Reset_Label_Is_Handler_Begin(x)
#define WN_Set_IO_Library(x, y)   (WN_io_flag(x) = (y))
#define WN_IO_Library(x)   ((IOLIB) WN_io_flag(x))
#define WN_PARM_BY_REFERENCE   0x01
#define WN_PARM_BY_VALUE   0x02
#define WN_PARM_IN   WN_PARM_BY_VALUE
#define WN_PARM_OUT   0x04
#define WN_PARM_DUMMY   0x08
#define WN_PARM_READ_ONLY   0x10
#define WN_PARM_PASSED_NOT_SAVED   0x20
#define WN_PARM_NOT_EXPOSED_USE   0x40
#define WN_PARM_IS_KILLED   0x80
#define WN_Parm_By_Reference(x)   (WN_parm_flag(x) & WN_PARM_BY_REFERENCE)
#define WN_Set_Parm_By_Reference(x)   (WN_parm_flag(x) |= WN_PARM_BY_REFERENCE)
#define WN_Parm_By_Value(x)   (WN_parm_flag(x) & WN_PARM_BY_VALUE)
#define WN_Set_Parm_By_Value(x)   (WN_parm_flag(x) |= WN_PARM_BY_VALUE)
#define WN_Parm_In(x)   (WN_parm_flag(x) & WN_PARM_IN)
#define WN_Set_Parm_In(x)   (WN_parm_flag(x) |= WN_PARM_IN)
#define WN_Parm_Out(x)   (WN_parm_flag(x) & WN_PARM_OUT)
#define WN_Set_Parm_Out(x)   (WN_parm_flag(x) |= WN_PARM_OUT)
#define WN_Parm_Dummy(x)   (WN_parm_flag(x) & WN_PARM_DUMMY)
#define WN_Set_Parm_Dummy(x)   (WN_parm_flag(x) |= WN_PARM_DUMMY)
#define WN_Parm_Read_Only(x)   (WN_parm_flag(x) & WN_PARM_READ_ONLY)
#define WN_Set_Parm_Read_Only(x)   (WN_parm_flag(x) |= WN_PARM_READ_ONLY)
#define WN_Parm_Passed_Not_Saved(x)   (WN_parm_flag(x) & WN_PARM_PASSED_NOT_SAVED)
#define WN_Set_Parm_Passed_Not_Saved(x)   (WN_parm_flag(x) |= WN_PARM_PASSED_NOT_SAVED)
#define WN_Set_Parm_Not_Exposed_Use(x)   (WN_parm_flag(x) |= WN_PARM_NOT_EXPOSED_USE)
#define WN_Parm_Not_Exposed_Use(x)   (WN_parm_flag(x) & WN_PARM_NOT_EXPOSED_USE)
#define WN_Set_Parm_Is_Killed(x)   (WN_parm_flag(x) |= WN_PARM_IS_KILLED)
#define WN_Parm_Is_Killed(x)   (WN_parm_flag(x) & WN_PARM_IS_KILLED)
#define WN_CALL_NEVER_RETURN   0x01
#define WN_CALL_NON_DATA_MOD   0x02
#define WN_CALL_NON_PARM_MOD   0x04
#define WN_CALL_PARM_MOD   0x08
#define WN_CALL_NON_DATA_REF   0x10
#define WN_CALL_NON_PARM_REF   0x20
#define WN_CALL_PARM_REF   0x40
#define WN_CALL_INLINE   0x80
#define WN_CALL_DONT_INLINE   0x100
#define WN_CALL_DOES_MEM_ALLOC   0x200
#define WN_CALL_DOES_MEM_FREE   0x400
#define WN_CALL_FORTRAN_POINTER_RULE   0x800
#define WN_CALL_REPLACE_BY_JUMP   0x1000
#define WN_CALL_IS_VIRTUAL   0x2000
#define WN_CALL_CONSERVATIVE
#define WN_Call_Never_Return(x)   (WN_call_flag(x) & WN_CALL_NEVER_RETURN)
#define WN_Set_Call_Never_Return(x)   (WN_call_flag(x) |= WN_CALL_NEVER_RETURN)
#define WN_Reset_Call_Never_Return(x)   (WN_call_flag(x) &= ~WN_CALL_NEVER_RETURN)
#define WN_Call_Non_Data_Mod(x)   (WN_call_flag(x) & WN_CALL_NON_DATA_MOD)
#define WN_Set_Call_Non_Data_Mod(x)   (WN_call_flag(x) |= WN_CALL_NON_DATA_MOD)
#define WN_Reset_Call_Non_Data_Mod(x)   (WN_call_flag(x) &= ~WN_CALL_NON_DATA_MOD)
#define WN_Call_Non_Data_Ref(x)   (WN_call_flag(x) & WN_CALL_NON_DATA_REF)
#define WN_Set_Call_Non_Data_Ref(x)   (WN_call_flag(x) |= WN_CALL_NON_DATA_REF)
#define WN_Reset_Call_Non_Data_Ref(x)   (WN_call_flag(x) &= ~WN_CALL_NON_DATA_REF)
#define WN_Call_Non_Parm_Mod(x)   (WN_call_flag(x) & WN_CALL_NON_PARM_MOD)
#define WN_Set_Call_Non_Parm_Mod(x)   (WN_call_flag(x) |= WN_CALL_NON_PARM_MOD)
#define WN_Reset_Call_Non_Parm_Mod(x)   (WN_call_flag(x) &= ~WN_CALL_NON_PARM_MOD)
#define WN_Call_Non_Parm_Ref(x)   (WN_call_flag(x) & WN_CALL_NON_PARM_REF)
#define WN_Set_Call_Non_Parm_Ref(x)   (WN_call_flag(x) |= WN_CALL_NON_PARM_REF)
#define WN_Reset_Call_Non_Parm_Ref(x)   (WN_call_flag(x) &= ~WN_CALL_NON_PARM_REF)
#define WN_Call_Parm_Mod(x)   (WN_call_flag(x) & WN_CALL_PARM_MOD)
#define WN_Set_Call_Parm_Mod(x)   (WN_call_flag(x) |= WN_CALL_PARM_MOD)
#define WN_Reset_Call_Parm_Mod(x)   (WN_call_flag(x) &= ~WN_CALL_PARM_MOD)
#define WN_Call_Parm_Ref(x)   (WN_call_flag(x) & WN_CALL_PARM_REF)
#define WN_Set_Call_Parm_Ref(x)   (WN_call_flag(x) |= WN_CALL_PARM_REF)
#define WN_Reset_Call_Parm_Ref(x)   (WN_call_flag(x) &= ~WN_CALL_PARM_REF)
#define WN_Call_Inline(x)   (WN_call_flag(x) & WN_CALL_INLINE)
#define WN_Set_Call_Inline(x)   (WN_call_flag(x) |= WN_CALL_INLINE)
#define WN_Reset_Call_Inline(x)   (WN_call_flag(x) &= ~WN_CALL_INLINE)
#define WN_Call_Dont_Inline(x)   (WN_call_flag(x) & WN_CALL_DONT_INLINE)
#define WN_Set_Call_Dont_Inline(x)   (WN_call_flag(x) |= WN_CALL_DONT_INLINE)
#define WN_Reset_Call_Dont_Inline(x)   (WN_call_flag(x) &= ~WN_CALL_DONT_INLINE)
#define WN_Call_Does_Mem_Alloc(x)   (WN_call_flag(x) & WN_CALL_DOES_MEM_ALLOC)
#define WN_Set_Call_Does_Mem_Alloc(x)   (WN_call_flag(x) |= WN_CALL_DOES_MEM_ALLOC)
#define WN_Reset_Call_Does_Mem_Alloc(x)   (WN_call_flag(x) &= ~WN_CALL_DOES_MEM_ALLOC)
#define WN_Call_Does_Mem_Free(x)   (WN_call_flag(x) & WN_CALL_DOES_MEM_FREE)
#define WN_Set_Call_Does_Mem_Free(x)   (WN_call_flag(x) |= WN_CALL_DOES_MEM_FREE)
#define WN_Reset_Call_Does_Mem_Free(x)   (WN_call_flag(x) &= ~WN_CALL_DOES_MEM_FREE)
#define WN_Call_Fortran_Pointer_Rule(x)   (WN_call_flag(x) & WN_CALL_FORTRAN_POINTER_RULE)
#define WN_Set_Call_Fortran_Pointer_Rule(x)   (WN_call_flag(x) |= WN_CALL_FORTRAN_POINTER_RULE)
#define WN_Reset_Call_Fortran_Pointer_Rule(x)   (WN_call_flag(x) &= ~WN_CALL_FORTRAN_POINTER_RULE)
#define WN_Call_Replace_By_Jump(x)   (WN_call_flag(x) & WN_CALL_REPLACE_BY_JUMP)
#define WN_Set_Call_Replace_By_Jump(x)   (WN_call_flag(x) |= WN_CALL_REPLACE_BY_JUMP)
#define WN_Reset_Call_Replace_By_Jump(x)   (WN_call_flag(x) &= ~WN_CALL_REPLACE_BY_JUMP)
#define WN_Set_Call_Default_Flags(x)   (WN_call_flag(x) |= WN_CALL_CONSERVATIVE)
#define WN_Call_No_Side_Effect(x)   ((WN_call_flag(x) & (WN_CALL_NON_DATA_MOD | WN_CALL_NON_PARM_MOD | WN_CALL_PARM_MOD)) == 0)
#define WN_Call_Pure(x)   ((WN_call_flag(x) & (WN_CALL_NON_DATA_MOD | WN_CALL_NON_PARM_MOD | WN_CALL_PARM_MOD | WN_CALL_NON_DATA_REF | WN_CALL_NON_PARM_REF)) == 0)
#define WN_Call_Is_Virtual(x)   (WN_call_flag(x) & WN_CALL_IS_VIRTUAL)
#define WN_Set_Call_Is_Virtual(x)   (WN_call_flag(x) |= WN_CALL_IS_VIRTUAL)
#define WN_Reset_Call_Is_Virtual(x)   (WN_call_flag(x) &= ~WN_CALL_IS_VIRTUAL)
#define WN_ASM_VOLATILE   0x0001
#define WN_ASM_CLOBBERS_MEM   0x0002
#define WN_ASM_CLOBBERS_CC   0x0004
#define WN_Asm_Volatile(x)   (WN_asm_flag(x) & WN_ASM_VOLATILE)
#define WN_Set_Asm_Volatile(x)   (WN_asm_flag(x) |= WN_ASM_VOLATILE)
#define WN_Reset_Asm_Volatile(x)   (WN_asm_flag(x) &= ~WN_ASM_VOLATILE)
#define WN_Asm_Clobbers_Mem(x)   (WN_asm_flag(x) & WN_ASM_CLOBBERS_MEM)
#define WN_Set_Asm_Clobbers_Mem(x)   (WN_asm_flag(x) |= WN_ASM_CLOBBERS_MEM)
#define WN_Reset_Asm_Clobbers_Mem(x)   (WN_asm_flag(x) &= ~WN_ASM_CLOBBERS_MEM)
#define WN_Asm_Clobbers_Cc(x)   (WN_asm_flag(x) & WN_ASM_CLOBBERS_CC)
#define WN_Set_Asm_Clobbers_Cc(x)   (WN_asm_flag(x) |= WN_ASM_CLOBBERS_CC)
#define WN_Reset_Asm_Clobbers_Cc(x)   (WN_asm_flag(x) &= ~WN_ASM_CLOBBERS_CC)
#define PF_GET_READ(flag)   (((~(flag)) >> 24) & 0x1)
#define PF_GET_WRITE(flag)   (((flag) >> 24) & 0x1)
#define PF_GET_STRIDE_1L(flag)   ((flag) & 0xff)
#define PF_GET_STRIDE_2L(flag)   (((flag) >> 8) & 0xff)
#define PF_GET_CONFIDENCE(flag)   (((flag) >> 28) & 0xf)
#define PF_GET_MANUAL(flag)   (((flag) >> 25) & 0x1)
#define PF_SET_READ(flag)   flag &= 0xfeffffff
#define PF_SET_WRITE(flag)   flag |= 0x01000000
#define PF_SET_STRIDE_1L(flag, x)   flag = (((flag)&0xffffff00) | ((x)&0xff))
#define PF_SET_STRIDE_2L(flag, x)   flag = (((flag)&0xffff00ff) | ((x)&0xff)<<8)
#define PF_SET_CONFIDENCE(flag, x)   flag = (((flag)&0x0fffffff) | ((x)&0xf)<<28)
#define PF_SET_MANUAL(flag)   flag |= 0x02000000
#define PF_UNSET_MANUAL(flag)   flag &= 0xfdffffff
#define WN_pf_read(wn)   (((~(WN_prefetch_flag(wn))) >> 24) & 0x1)
#define WN_pf_write(wn)   (((WN_prefetch_flag(wn)) >> 24) & 0x1)
#define WN_pf_stride_1L(wn)   ((WN_prefetch_flag(wn)) & 0xff)
#define WN_pf_stride_2L(wn)   (((WN_prefetch_flag(wn)) >> 8) & 0xff)
#define WN_pf_confidence(wn)   (((WN_prefetch_flag(wn)) >> 28) & 0xf)
#define WN_pf_manual(wn)   (((WN_prefetch_flag(wn)) >> 25) & 0x1)
#define WN_pf_set_read(wn)   WN_prefetch_flag(wn) &= 0xfeffffff
#define WN_pf_set_write(wn)   WN_prefetch_flag(wn) |= 0x01000000
#define WN_pf_set_stride_1L(wn, x)   WN_prefetch_flag(wn) = (((WN_prefetch_flag(wn))&0xffffff00) | ((x)&0xff))
#define WN_pf_set_stride_2L(wn, x)   WN_prefetch_flag(wn) = (((WN_prefetch_flag(wn))&0xffff00ff) | ((x)&0xff)<<8)
#define WN_pf_set_confidence(wn, x)   WN_prefetch_flag(wn) = (((WN_prefetch_flag(wn))&0x0fffffff) | ((x)&0xf)<<28)
#define WN_pf_set_manual(wn)   WN_prefetch_flag(wn) |= 0x02000000
#define WN_pf_unset_manual(wn)   WN_prefetch_flag(wn) &= 0xfdffffff

Typedefs

typedef INT32 WN_OFFSET
typedef INT64 WN_ESIZE
typedef INT32 WN_MAP_ID

Enumerations

enum  REGION_KIND {
  REGION_KIND_PRAGMA = 0x0, REGION_KIND_FUNC_ENTRY = 0x1, REGION_KIND_LOOP = 0x2, REGION_KIND_OLIMIT = 0x3,
  REGION_KIND_MP = 0x4, REGION_KIND_RPI = 0x5, REGION_KIND_COLD = 0x6, REGION_KIND_SWP = 0x7,
  REGION_KIND_EH = 0x8, REGION_KIND_TRY = 0x8, REGION_KIND_CLEANUP = 0x9, REGION_KIND_EXC_SPEC = 0xa,
  REGION_KIND_MASK = 0xb, REGION_KIND_GUARD = 0xc, REGION_KIND_NULL_CLEANUP = 0xd, REGION_KIND_PRAGMA = 0x0,
  REGION_KIND_FUNC_ENTRY = 0x1, REGION_KIND_LOOP = 0x2, REGION_KIND_OLIMIT = 0x3, REGION_KIND_MP = 0x4,
  REGION_KIND_RPI = 0x5, REGION_KIND_COLD = 0x6, REGION_KIND_SWP = 0x7, REGION_KIND_EH = 0x8,
  REGION_KIND_TRY = 0x8, REGION_KIND_CLEANUP = 0x9, REGION_KIND_EXC_SPEC = 0xa, REGION_KIND_MASK = 0xb,
  REGION_KIND_GUARD = 0xc, REGION_KIND_NULL_CLEANUP = 0xd
}

Functions/Subroutines

WN_OFFSET WN_load_offset (const WN *wn)
WN_OFFSETWN_load_offset (WN *wn)
WN_OFFSET WN_lda_offset (const WN *wn)
WN_OFFSETWN_lda_offset (WN *wn)
WN_OFFSET WN_store_offset (const WN *wn)
WN_OFFSETWN_store_offset (WN *wn)
WN_OFFSET WN_idname_offset (const WN *wn)
WN_OFFSETWN_idname_offset (WN *wn)
WN_OFFSET WN_offset (const WN *wn)
WN_OFFSETWN_offset (WN *wn)
INT32 WN_num_entries (const WN *wn)
INT32WN_num_entries (WN *wn)
INT16 WN_cvtl_bits (const WN *wn)
INT16 & WN_cvtl_bits (WN *wn)
INT32 WN_label_number (const WN *wn)
INT32WN_label_number (WN *wn)
UINT32 WN_call_flag (const WN *wn)
UINT32WN_call_flag (WN *wn)
UINT32 WN_if_flag (const WN *wn)
UINT32WN_if_flag (WN *wn)
UINT32 WN_io_flag (const WN *wn)
UINT32WN_io_flag (WN *wn)
UINT32 WN_asm_flag (const WN *wn)
UINT32WN_asm_flag (WN *wn)
UINT32 WN_label_level (const WN *wn)
UINT32WN_label_level (WN *wn)
mUINT16 WN_loop_trip_est (const WN *wn)
mUINT16WN_loop_trip_est (WN *wn)
mUINT16 WN_loop_depth (const WN *wn)
mUINT16WN_loop_depth (WN *wn)
mUINT16 WN_pragma_flags (const WN *wn)
mUINT16WN_pragma_flags (WN *wn)
mUINT16 WN_pragma (const WN *wn)
mUINT16WN_pragma (WN *wn)
char * WN_pragma_asm_constraint (const WN *wn)
PREG_NUM WN_pragma_asm_copyout_preg (const WN *wn)
void WN_set_pragma_asm_copyout_preg (WN *wn, PREG_NUM r)
UINT32 WN_pragma_asm_opnd_num (const WN *wn)
void WN_set_pragma_asm_opnd_num (WN *wn, UINT32 i)
REGION_KIND WN_region_kind (const WN *wn)
void WN_set_region_kind (WN *wn, REGION_KIND k)
mUINT32 WN_region_id (const WN *wn)
void WN_set_region_id (WN *wn, mUINT32 i)
ST_IDX WN_st_idx (const WN *wn)
ST_IDXWN_st_idx (WN *wn)
INTRINSIC WN_intrinsic (const WN *wn)
INTRINSICWN_intrinsic (WN *wn)
IOSTATEMENT WN_io_statement (const WN *wn)
IOSTATEMENTWN_io_statement (WN *wn)
IOITEM WN_io_item (const WN *wn)
IOITEMWN_io_item (WN *wn)
UINT32 WN_prefetch_flag (const WN *wn)
UINT32WN_prefetch_flag (WN *wn)
UINT32 WN_loop_flag (const WN *wn)
UINT32WN_loop_flag (WN *wn)
INT32 WN_last_label (const WN *wn)
INT32WN_last_label (WN *wn)
INITO_IDX WN_ereg_supp (const WN *wn)
INITO_IDXWN_ereg_supp (WN *wn)
WN_ESIZE WN_element_size (const WN *wn)
WN_ESIZEWN_element_size (WN *wn)
OPERATOR WN_operator (const WN *wn)
void WN_set_operator (WN *wn, OPERATOR opr)
TYPE_ID WN_rtype (const WN *wn)
void WN_set_rtype (WN *wn, TYPE_ID ty)
INT WN_kid_count (const WN *wn)
void WN_set_kid_count (WN *wn, UINT n)
UINT32 WN_field_id (const WN *wn)
void WN_set_field_id (WN *wn, UINT n)
UINT WN_bit_offset (const WN *wn)
UINT WN_bit_size (const WN *wn)
void WN_set_bit_offset_size (WN *wn, UINT ofst, UINT siz)
TYPE_ID WN_desc (const WN *wn)
void WN_set_desc (WN *wn, TYPE_ID ty)
INT32 WN_map_id (const WN *wn)
void WN_set_map_id (WN *wn, INT32 m)
WNWN_kid (const WN *wn, int i)
WN *& WN_kid (WN *wn, int i)
WNWN_kid0 (const WN *wn)
WN *& WN_kid0 (WN *wn)
WNWN_kid1 (const WN *wn)
WN *& WN_kid1 (WN *wn)
WNWN_kid2 (const WN *wn)
WN *& WN_kid2 (WN *wn)
WNWN_kid3 (const WN *wn)
WN *& WN_kid3 (WN *wn)
INT64 WN_const_val (const WN *wn)
INT64WN_const_val (WN *wn)
UINT32 WN_label_flag (const WN *wn)
UINT32WN_label_flag (WN *wn)
WNWN_first (const WN *wn)
WN *& WN_first (WN *wn)
WNWN_last (const WN *wn)
WN *& WN_last (WN *wn)
UINT32 WN_asm_num_inputs (const WN *wn)
UINT32WN_asm_num_inputs (WN *wn)
UINT32 WN_asm_opnd_num (const WN *wn)
UINT32WN_asm_opnd_num (WN *wn)
UINT32 WN_asm_num_clobbers (const WN *wn)
UINT32WN_asm_num_clobbers (WN *wn)
INT64 WN_pragma_arg64 (const WN *wn)
INT64WN_pragma_arg64 (WN *wn)
INT32 WN_pragma_arg1 (const WN *wn)
INT32WN_pragma_arg1 (WN *wn)
INT32 WN_pragma_arg2 (const WN *wn)
INT32WN_pragma_arg2 (WN *wn)
mINT8 WN_pragma_distr_type (const WN *wn)
mINT8WN_pragma_distr_type (WN *wn)
mINT8 WN_pragma_index (const WN *wn)
mINT8WN_pragma_index (WN *wn)
INT32 WN_pragma_preg (const WN *wn)
INT32WN_pragma_preg (WN *wn)
void WN_Copy_u1u2 (WN *dst, const WN *src)
void WN_Copy_u3 (WN *dst, const WN *src)
OPCODE WN_opcode (const WN *wn)
void WN_set_opcode (WN *wn, OPCODE opc)
UINTPS WN_offset_in_STMT_WN (const WN *x)
STMT_WNWN_cast_WN_to_STMT_WN (const WN *x)
WNWN_prev (const WN *wn)
WN *& WN_prev (WN *wn)
WNWN_next (const WN *wn)
WN *& WN_next (WN *wn)
mUINT64 WN_linenum (const WN *wn)
mUINT64WN_linenum (WN *wn)
WNWN_prev_free (const STMT_WN *stmt_wn)
WN *& WN_prev_free (STMT_WN *stmt_wn)
WNWN_real_fields (STMT_WN *stmt_wn)
STWN_st (const WN *x)
char * WN_asm_string (const WN *wn)
char * WN_asm_input_constraint (const WN *wn)
TCONWN_val (const WN *x)
TYPE_ID WN_val_type (const WN *x)
TY_IDX WN_ty (const WN *wn)
void WN_set_ty (WN *wn, TY_IDX ty)
TY_IDX WN_load_addr_ty (const WN *wn)
void WN_set_load_addr_ty (WN *wn, TY_IDX ty)
UINT32 WN_flag (const WN *wn)
void WN_set_flag (WN *wn, UINT32 flag)
voidWN_StartAddress (WN *wn)
INT32 WN_Size (WN *wn)
void WN_Set_Linenum (WN *wn, INT64 ln)
INT64 WN_Get_Linenum (const WN *wn)
BOOL WN_Is_Volatile_Mem (const WN *wn)
mINT16 WN_num_actuals (const WN *wn)


Define Documentation

#define max ( a,
b   )     ((a > b) ? a : b)

Definition at line 1109 of file wn_core.h.

#define MAX_FIELD_ID   0x3ffe

Intermediate Language Tree Nodes --------------------------------

Description:

This is the basic data structure that all phases of the compiler use to represent programs. It is used to represent expressions, leaves, statments (the side-effecting roots of expression trees commonly called "stats" in other compilers), and also units of hierarchical control flow such as do loops and if statements.

Reserved prefix:

WN for tree nodes

Exported types:

WN

A tree node. Every tree node contains the following fields:

OPCODE opcode

What kind of tree node is this? All information common to nodes of a particular kind is derived from this. For example, we could tell we were looking at a 32 bit multiply by looking at its opcode. Because multiplies are known to have two operands, we know that this node has two operands.

mINT16 kid_count

For every node except OPR_BLOCK, this gives the number of kids of the node. For OPR_BLOCK, the value of this field is undefined. This field is zero for leaf nodes.

Depending on the type of the opcode field, one or more of the following fields is present:

For non-leaf expressions excluding OPR_BLOCK:

WN *kid(i)

Refers to the 'i'th kid

WN *kid0

Refers to the '0'th kid

WN *kid1

Refers to the first kid

WN *kid2

Refers to the second kid

WN *kid3

Refers to the third kid

For OPR_BLOCK:

WN *first

First element of the list of WNs or NULL if the list is empty

WN *last

Last element of the list of WNs or NULL if the list is empty

For all statements:

WN *next If a staement is a child of a OPR_BLOCK, this points to the next statement under the OPR_BLOCK. Otherwise, this is NULL.

WN *prev If a staement is a child of a OPR_BLOCK, this points to the previous statement under the OPR_BLOCK. Otherwise, this is NULL.

For all loads

WN_OFFSET load_offset

A constant offset. offset can also be used (instead of load_offset), but it might be less efficient.

For OPR_LDA

WN_OFFSET lda_offset

A constant offset. offset can also be used (instead of lda_offset), but it might be less efficient.

For all stores

WN_OFFSET store_offset

A constant offset. offset can also be used (instead of store_offset), but it might be less efficient.

For OPR_IDNAME

WN_OFFSET idname_offset

A constant offset. offset can also be used (instead of idname_offset), but it might be less efficient.

For OPR_LABEL, OPR_TRUEBR, OPR_FALSEBR, OPR_GOTO

INT32 label_number

For OPR_LABEL, OPC_PREFETCH, OPC_PREFETCHX OPR_INTRINSIC_CALL and OPR_INTRINSIC_OP

UINT32 flag

For OPR_INTRINSIC_CALL, OPR_INTRINSIC_OP, OPR_IO and OPR_IO_ITEM

INTRINSIC intrinsic

For OPR_INTCONST, OPR_PRAGMA

INT64 const_val

A constant offset.

For OPR_ILOAD, OPR_MLOAD, OPR_ILOADX, OPR_LDID, OPR_ICALL, OPR_ISTORE,OPR_MSTORE,OPR_ISTOREX,OPR_STID,OPR_TAS, OPR_IO_ITEM

struct ty *WN_ty(const WN *wn)

The high level type. This is a function To set the type enter WN_set_ty(WN *wn, TY *ty)

FOR OPR_ILOAD, OPR_ILOADX

struct ty *WN_load_addr_ty

For OPR_CVTL

INT16 cvtl_bits

The number of bits.

For OPR_LDID, OPR_LDA, OPR_IDNAME, OPR_STID, OPR_GOTO, OPR_ALTENOPRY, OPR_LABEL, OPR_FUNC_ENOPRY, OPR_CALL, OPR_CONST, OPR_PICCALL:

ST st

A symbol table index. For the load and store operators, this is the symbol being loaded or stored. For OPR_GOTO this is the name of the label if the label is user defined and null otherwise. For OPR_FUNC_ENTRY and OPR_CALL this is the name of the function. For OPR_CONST, this points to the value of the literal.

For OPR_COMP_GOTO:

INT32 num_entries

How many entries in the computed goto table. A region created after structured control flow is lowered will also need a branch table to keep track of all the possible exits.

For OPR_ARRAY

INT32 num_dim

How many dimensions are in this array.

WN_ESIZE element_size

How big (in bytes) is each element

For OPR_FUNC_ENTRY:

WN *next_func, *prev_func

The next and previous function in a list of functions

In addition to the above, synonyms are provided for the field names of various types of tree nodes. These provide convenient and self documenting names. Please add to this list as appropriate:

For OPR_FUNC_ENTRY:

ST entry_name The name of the entry

WN *formal(i) The 'i'-th formal parameter

INT16 num_formals The number of formal parameters

WN *func_pragmas List of pragmas for the function

WN *func_varrefs List of uplevel var refs for the function

WN *func_body The OPR_BLOCK that represents all the code in the body

WN *entry_first,entry_last The first and last statement in the OPR_BLOCK that represents all the code in the body. This is aliased to indirect through func_body

For OPR_[I]CALL:

WN *actual(i) The 'i'-th actual parameter

INT16 num_actuals The number of actual parameters

For OPR_DO_LOOP:

WN *index WN *start WN *end WN *step WN *do_body

For OPR_DO_WHILE:

WN *while_test WN *while_body

For OPR_WHILE_DO:

WN *while_test WN *while_body

For OPR_IF

WN *if_test WN *then WN *else

For OPR_REGION:

WN *region_body UINT32 flag Regions use the call_flag to track compilation level info

For OPR_ARRAY

WN *array_index(i) The i'th indexing dimension (i starts at 0)

WN *array_dim(i) The i'th dimension size (i starts at 0)

WN *array_base The base of the array.

WN_OFFSET

This is a signed integer type used in the offset fields of various WNs mentioned above plus in OPC_PRAGMA.

Exported functions:

INT32 WN_Size( WN *wn )

Return the size in bytes of this wn structure

void *WN_StartAddress(WN *wn)

Return the starting address of wn This is not necessarily &wn as we grow wns backwards to minimize size

WN_Is_If_Guard(WN *if_wn) is the if statement a one-trip guard for a do loop WN_Set_If_Guard(WN *if_wn) the if statement is a one-trip guard for a do loop WN_Reset_If_Guard(WN *if_wn) the if statement is not a one-trip guard for a do loop

WN_Label_Is_Break(x) is the label the label for a break from a case statement WN_Set_Label_Is_Break(x) the label is the label for a break from a case statement WN_Reset_Label_Is_Break(x) the label is not the label for a break from a case statement

WN_Is_Volatile_Mem(const WN *wn) Is <wn> a reference to a volatile memory location?

Definition at line 399 of file wn_core.h.

#define PF_GET_CONFIDENCE ( flag   )     (((flag) >> 28) & 0xf)

Definition at line 1646 of file wn_core.h.

#define PF_GET_MANUAL ( flag   )     (((flag) >> 25) & 0x1)

Definition at line 1647 of file wn_core.h.

#define PF_GET_READ ( flag   )     (((~(flag)) >> 24) & 0x1)

Definition at line 1642 of file wn_core.h.

#define PF_GET_STRIDE_1L ( flag   )     ((flag) & 0xff)

Definition at line 1644 of file wn_core.h.

#define PF_GET_STRIDE_2L ( flag   )     (((flag) >> 8) & 0xff)

Definition at line 1645 of file wn_core.h.

#define PF_GET_WRITE ( flag   )     (((flag) >> 24) & 0x1)

Definition at line 1643 of file wn_core.h.

#define PF_SET_CONFIDENCE ( flag,
 )     flag = (((flag)&0x0fffffff) | ((x)&0xf)<<28)

Definition at line 1657 of file wn_core.h.

#define PF_SET_MANUAL ( flag   )     flag |= 0x02000000

Definition at line 1658 of file wn_core.h.

#define PF_SET_READ ( flag   )     flag &= 0xfeffffff

Definition at line 1653 of file wn_core.h.

#define PF_SET_STRIDE_1L ( flag,
 )     flag = (((flag)&0xffffff00) | ((x)&0xff))

Definition at line 1655 of file wn_core.h.

#define PF_SET_STRIDE_2L ( flag,
 )     flag = (((flag)&0xffff00ff) | ((x)&0xff)<<8)

Definition at line 1656 of file wn_core.h.

#define PF_SET_WRITE ( flag   )     flag |= 0x01000000

Definition at line 1654 of file wn_core.h.

#define PF_UNSET_MANUAL ( flag   )     flag &= 0xfdffffff

Definition at line 1659 of file wn_core.h.

#define UNKNOWN_FIELD_ID   0x3fff

Definition at line 400 of file wn_core.h.

#define WN_actual ( x,
i   )     WN_kid((x),i)

Definition at line 1064 of file wn_core.h.

#define WN_array_base (  )     WN_kid((x),0)

Definition at line 1090 of file wn_core.h.

#define WN_array_dim ( x,
i   )     WN_kid((x),i+1)

Definition at line 1089 of file wn_core.h.

#define WN_array_index ( x,
i   )     WN_kid((x),WN_num_dim(x)+i+1)

Definition at line 1088 of file wn_core.h.

#define WN_asm_clobbers (  )     (WN_kid0(x))

Definition at line 949 of file wn_core.h.

#define WN_Asm_Clobbers_Cc (  )     (WN_asm_flag(x) & WN_ASM_CLOBBERS_CC)

Definition at line 1587 of file wn_core.h.

#define WN_ASM_CLOBBERS_CC   0x0004

Definition at line 1579 of file wn_core.h.

#define WN_Asm_Clobbers_Mem (  )     (WN_asm_flag(x) & WN_ASM_CLOBBERS_MEM)

Definition at line 1584 of file wn_core.h.

#define WN_ASM_CLOBBERS_MEM   0x0002

Definition at line 1578 of file wn_core.h.

#define WN_asm_constraints (  )     (WN_kid1(x))

Definition at line 950 of file wn_core.h.

#define WN_Asm_Volatile (  )     (WN_asm_flag(x) & WN_ASM_VOLATILE)

Definition at line 1581 of file wn_core.h.

#define WN_ASM_VOLATILE   0x0001

Definition at line 1577 of file wn_core.h.

#define WN_block_empty (  )     (WN_first(x) == NULL)

Definition at line 1161 of file wn_core.h.

#define WN_block_nonempty (  )     (WN_first(x) != NULL)

Definition at line 1162 of file wn_core.h.

#define WN_CALL_CONSERVATIVE

#define WN_Call_Does_Mem_Alloc (  )     (WN_call_flag(x) & WN_CALL_DOES_MEM_ALLOC)

Definition at line 1552 of file wn_core.h.

#define WN_CALL_DOES_MEM_ALLOC   0x200

Definition at line 1505 of file wn_core.h.

#define WN_Call_Does_Mem_Free (  )     (WN_call_flag(x) & WN_CALL_DOES_MEM_FREE)

Definition at line 1555 of file wn_core.h.

#define WN_CALL_DOES_MEM_FREE   0x400

Definition at line 1506 of file wn_core.h.

#define WN_Call_Dont_Inline (  )     (WN_call_flag(x) & WN_CALL_DONT_INLINE)

Definition at line 1549 of file wn_core.h.

#define WN_CALL_DONT_INLINE   0x100

Definition at line 1504 of file wn_core.h.

#define WN_Call_Fortran_Pointer_Rule (  )     (WN_call_flag(x) & WN_CALL_FORTRAN_POINTER_RULE)

Definition at line 1558 of file wn_core.h.

#define WN_CALL_FORTRAN_POINTER_RULE   0x800

Definition at line 1507 of file wn_core.h.

#define WN_Call_Inline (  )     (WN_call_flag(x) & WN_CALL_INLINE)

Definition at line 1546 of file wn_core.h.

#define WN_CALL_INLINE   0x80

Definition at line 1503 of file wn_core.h.

#define WN_Call_Is_Virtual (  )     (WN_call_flag(x) & WN_CALL_IS_VIRTUAL)

Definition at line 1571 of file wn_core.h.

#define WN_CALL_IS_VIRTUAL   0x2000

Definition at line 1511 of file wn_core.h.

#define WN_Call_Never_Return (  )     (WN_call_flag(x) & WN_CALL_NEVER_RETURN)

Definition at line 1525 of file wn_core.h.

#define WN_CALL_NEVER_RETURN   0x01

Definition at line 1496 of file wn_core.h.

#define WN_Call_No_Side_Effect (  )     ((WN_call_flag(x) & (WN_CALL_NON_DATA_MOD | WN_CALL_NON_PARM_MOD | WN_CALL_PARM_MOD)) == 0)

Definition at line 1568 of file wn_core.h.

#define WN_Call_Non_Data_Mod (  )     (WN_call_flag(x) & WN_CALL_NON_DATA_MOD)

Definition at line 1528 of file wn_core.h.

#define WN_CALL_NON_DATA_MOD   0x02

Definition at line 1497 of file wn_core.h.

#define WN_Call_Non_Data_Ref (  )     (WN_call_flag(x) & WN_CALL_NON_DATA_REF)

Definition at line 1531 of file wn_core.h.

#define WN_CALL_NON_DATA_REF   0x10

Definition at line 1500 of file wn_core.h.

#define WN_Call_Non_Parm_Mod (  )     (WN_call_flag(x) & WN_CALL_NON_PARM_MOD)

Definition at line 1534 of file wn_core.h.

#define WN_CALL_NON_PARM_MOD   0x04

Definition at line 1498 of file wn_core.h.

#define WN_Call_Non_Parm_Ref (  )     (WN_call_flag(x) & WN_CALL_NON_PARM_REF)

Definition at line 1537 of file wn_core.h.

#define WN_CALL_NON_PARM_REF   0x20

Definition at line 1501 of file wn_core.h.

#define WN_Call_Parm_Mod (  )     (WN_call_flag(x) & WN_CALL_PARM_MOD)

Definition at line 1540 of file wn_core.h.

#define WN_CALL_PARM_MOD   0x08

Definition at line 1499 of file wn_core.h.

#define WN_Call_Parm_Ref (  )     (WN_call_flag(x) & WN_CALL_PARM_REF)

Definition at line 1543 of file wn_core.h.

#define WN_CALL_PARM_REF   0x40

Definition at line 1502 of file wn_core.h.

#define WN_Call_Pure (  )     ((WN_call_flag(x) & (WN_CALL_NON_DATA_MOD | WN_CALL_NON_PARM_MOD | WN_CALL_PARM_MOD | WN_CALL_NON_DATA_REF | WN_CALL_NON_PARM_REF)) == 0)

Definition at line 1569 of file wn_core.h.

#define WN_Call_Replace_By_Jump (  )     (WN_call_flag(x) & WN_CALL_REPLACE_BY_JUMP)

Definition at line 1563 of file wn_core.h.

#define WN_CALL_REPLACE_BY_JUMP   0x1000

Definition at line 1510 of file wn_core.h.

#define WN_class (  )     (ST_class(WN_st(x)))

Definition at line 1148 of file wn_core.h.

#define WN_do_body (  )     WN_kid((x),4)

Definition at line 1071 of file wn_core.h.

#define WN_do_loop_info (  )     (WN_kid_count(x)>5 ? WN_kid((x),5) : NULL)

Definition at line 1072 of file wn_core.h.

#define WN_else (  )     WN_kid((x),2)

Definition at line 1081 of file wn_core.h.

#define WN_else_is_empty (  )     (WN_first(WN_else(x)) == NULL)

Definition at line 1082 of file wn_core.h.

#define WN_end (  )     WN_kid((x),2)

Definition at line 1069 of file wn_core.h.

#define WN_entry_first (  )     WN_first(WN_func_body(x))

Definition at line 1062 of file wn_core.h.

#define WN_entry_last (  )     WN_last(WN_func_body(x))

Definition at line 1063 of file wn_core.h.

#define WN_entry_name (  )     WN_st_idx(x)

Definition at line 1056 of file wn_core.h.

#define WN_formal ( x,
i   )     WN_kid((x),i)

Definition at line 1057 of file wn_core.h.

#define WN_func_body (  )     WN_kid((x),WN_kid_count(x)-1)

Definition at line 1061 of file wn_core.h.

#define WN_func_pragmas (  )     WN_kid((x),WN_kid_count(x)-3)

Definition at line 1059 of file wn_core.h.

#define WN_func_varrefs (  )     WN_kid((x),WN_kid_count(x)-2)

Definition at line 1060 of file wn_core.h.

#define WN_has_map_id (  )     (WN_map_id(x)!= -1)

Definition at line 1159 of file wn_core.h.

#define WN_has_sym (  )     (OPERATOR_has_sym(WN_operator(x)))

Definition at line 1018 of file wn_core.h.

#define WN_IF_IS_GUARD   0x1

Definition at line 1363 of file wn_core.h.

#define WN_IF_IS_MPVERSION   0x2

Definition at line 1368 of file wn_core.h.

#define WN_if_test (  )     WN_kid((x),0)

Definition at line 1079 of file wn_core.h.

#define WN_index (  )     WN_kid((x),0)

Definition at line 1067 of file wn_core.h.

#define WN_IO_Library (  )     ((IOLIB) WN_io_flag(x))

Definition at line 1454 of file wn_core.h.

#define WN_Is_If_Guard (  )     (WN_if_flag(x) & WN_IF_IS_GUARD)

Definition at line 1364 of file wn_core.h.

#define WN_Is_If_MpVersion (  )     (WN_if_flag(x) & WN_IF_IS_MPVERSION)

Definition at line 1369 of file wn_core.h.

#define WN_LABEL_BREAK   0x1

Definition at line 1373 of file wn_core.h.

#define WN_LABEL_HANDLER_BEGIN   0x2

Definition at line 1435 of file wn_core.h.

#define WN_Label_Is_Break (  )     (WN_label_flag(x) & WN_LABEL_BREAK)

Definition at line 1374 of file wn_core.h.

#define WN_Label_Is_Handler_Begin (  ) 

Value:

Definition at line 1436 of file wn_core.h.

#define WN_label_loop_info (  )     (WN_kid_count(x)>0 ? WN_kid((x),0) : NULL)

Definition at line 1040 of file wn_core.h.

#define WN_loop_induction (  )     (WN_kid_count(x)>0 ? WN_kid((x),0) : NULL)

Definition at line 1093 of file wn_core.h.

#define WN_Loop_Innermost (  )     (WN_loop_flag(x) & WN_LOOP_INNERMOST)

Definition at line 1390 of file wn_core.h.

#define WN_LOOP_INNERMOST   0x1

Definition at line 1380 of file wn_core.h.

#define WN_Loop_Nz_Trip (  )     (WN_loop_flag(x) & WN_LOOP_NZ_TRIP)

Definition at line 1427 of file wn_core.h.

#define WN_LOOP_NZ_TRIP   0x10

Definition at line 1384 of file wn_core.h.

#define WN_Loop_Symb_Trip (  )     (WN_loop_flag(x) & WN_LOOP_SYMB_TRIP)

Definition at line 1431 of file wn_core.h.

#define WN_LOOP_SYMB_TRIP   0x20

Definition at line 1387 of file wn_core.h.

#define WN_loop_trip (  )     (WN_kid_count(x)>1 ? WN_kid((x),1) : NULL)

Definition at line 1096 of file wn_core.h.

#define WN_Loop_Unimportant (  ) 

#define WN_Loop_Unimportant_Misc (  )     (WN_loop_flag(x) & WN_LOOP_UNIMPORTANT_MISC)

Definition at line 1416 of file wn_core.h.

#define WN_LOOP_UNIMPORTANT_MISC   0x8

Definition at line 1383 of file wn_core.h.

#define WN_Loop_Winddown_Cache (  )     (WN_loop_flag(x) & WN_LOOP_WINDDOWN_CACHE)

Definition at line 1403 of file wn_core.h.

#define WN_LOOP_WINDDOWN_CACHE   0x4

Definition at line 1382 of file wn_core.h.

#define WN_Loop_Winddown_Reg (  )     (WN_loop_flag(x) & WN_LOOP_WINDDOWN_REG)

Definition at line 1396 of file wn_core.h.

#define WN_LOOP_WINDDOWN_REG   0x2

Definition at line 1381 of file wn_core.h.

#define WN_num_dim (  )     (WN_kid_count(x)>>1)

Definition at line 947 of file wn_core.h.

#define WN_num_formals (  )     (WN_kid_count(x)-3)

Definition at line 1058 of file wn_core.h.

#define WN_operator_is ( x,
 )     (WN_operator(x)==(y))

Definition at line 1145 of file wn_core.h.

#define WN_Parm_By_Reference (  )     (WN_parm_flag(x) & WN_PARM_BY_REFERENCE)

Definition at line 1477 of file wn_core.h.

#define WN_PARM_BY_REFERENCE   0x01

Definition at line 1456 of file wn_core.h.

#define WN_Parm_By_Value (  )     (WN_parm_flag(x) & WN_PARM_BY_VALUE)

Definition at line 1479 of file wn_core.h.

#define WN_PARM_BY_VALUE   0x02

Definition at line 1457 of file wn_core.h.

#define WN_Parm_Dummy (  )     (WN_parm_flag(x) & WN_PARM_DUMMY)

Definition at line 1485 of file wn_core.h.

#define WN_PARM_DUMMY   0x08

Definition at line 1460 of file wn_core.h.

#define WN_parm_flag (  )     WN_call_flag(x)

Definition at line 1038 of file wn_core.h.

#define WN_Parm_In (  )     (WN_parm_flag(x) & WN_PARM_IN)

Definition at line 1481 of file wn_core.h.

#define WN_PARM_IN   WN_PARM_BY_VALUE

Definition at line 1458 of file wn_core.h.

#define WN_Parm_Is_Killed (  )     (WN_parm_flag(x) & WN_PARM_IS_KILLED)

Definition at line 1494 of file wn_core.h.

#define WN_PARM_IS_KILLED   0x80

Definition at line 1468 of file wn_core.h.

#define WN_Parm_Not_Exposed_Use (  )     (WN_parm_flag(x) & WN_PARM_NOT_EXPOSED_USE)

Definition at line 1492 of file wn_core.h.

#define WN_PARM_NOT_EXPOSED_USE   0x40

Definition at line 1467 of file wn_core.h.

#define WN_Parm_Out (  )     (WN_parm_flag(x) & WN_PARM_OUT)

Definition at line 1483 of file wn_core.h.

#define WN_PARM_OUT   0x04

Definition at line 1459 of file wn_core.h.

#define WN_Parm_Passed_Not_Saved (  )     (WN_parm_flag(x) & WN_PARM_PASSED_NOT_SAVED)

Definition at line 1489 of file wn_core.h.

#define WN_PARM_PASSED_NOT_SAVED   0x20

Definition at line 1464 of file wn_core.h.

#define WN_Parm_Read_Only (  )     (WN_parm_flag(x) & WN_PARM_READ_ONLY)

Definition at line 1487 of file wn_core.h.

#define WN_PARM_READ_ONLY   0x10

Definition at line 1462 of file wn_core.h.

#define WN_pf_confidence ( wn   )     (((WN_prefetch_flag(wn)) >> 28) & 0xf)

Definition at line 1671 of file wn_core.h.

#define WN_pf_manual ( wn   )     (((WN_prefetch_flag(wn)) >> 25) & 0x1)

Definition at line 1672 of file wn_core.h.

#define WN_pf_read ( wn   )     (((~(WN_prefetch_flag(wn))) >> 24) & 0x1)

Definition at line 1667 of file wn_core.h.

#define WN_pf_set_confidence ( wn,
 )     WN_prefetch_flag(wn) = (((WN_prefetch_flag(wn))&0x0fffffff) | ((x)&0xf)<<28)

Definition at line 1678 of file wn_core.h.

#define WN_pf_set_manual ( wn   )     WN_prefetch_flag(wn) |= 0x02000000

Definition at line 1679 of file wn_core.h.

#define WN_pf_set_read ( wn   )     WN_prefetch_flag(wn) &= 0xfeffffff

Definition at line 1674 of file wn_core.h.

#define WN_pf_set_stride_1L ( wn,
 )     WN_prefetch_flag(wn) = (((WN_prefetch_flag(wn))&0xffffff00) | ((x)&0xff))

Definition at line 1676 of file wn_core.h.

#define WN_pf_set_stride_2L ( wn,
 )     WN_prefetch_flag(wn) = (((WN_prefetch_flag(wn))&0xffff00ff) | ((x)&0xff)<<8)

Definition at line 1677 of file wn_core.h.

#define WN_pf_set_write ( wn   )     WN_prefetch_flag(wn) |= 0x01000000

Definition at line 1675 of file wn_core.h.

#define WN_pf_stride_1L ( wn   )     ((WN_prefetch_flag(wn)) & 0xff)

Definition at line 1669 of file wn_core.h.

#define WN_pf_stride_2L ( wn   )     (((WN_prefetch_flag(wn)) >> 8) & 0xff)

Definition at line 1670 of file wn_core.h.

#define WN_pf_unset_manual ( wn   )     WN_prefetch_flag(wn) &= 0xfdffffff

Definition at line 1680 of file wn_core.h.

#define WN_pf_write ( wn   )     (((WN_prefetch_flag(wn)) >> 24) & 0x1)

Definition at line 1668 of file wn_core.h.

#define WN_pragma_compiler_generated (  )     ((WN_pragma_flags(x))&WN_PRAGMA_COMPILER_GENERATED)

Definition at line 1049 of file wn_core.h.

#define WN_PRAGMA_COMPILER_GENERATED   0x01

Definition at line 1046 of file wn_core.h.

#define WN_pragma_omp (  )     ((WN_pragma_flags(x)) & WN_PRAGMA_OMP)

Definition at line 1051 of file wn_core.h.

#define WN_PRAGMA_OMP   0x02

Definition at line 1047 of file wn_core.h.

#define WN_region_body (  )     WN_kid((x),2)

Definition at line 1086 of file wn_core.h.

#define WN_region_exits (  )     WN_kid((x),0)

Definition at line 1084 of file wn_core.h.

#define WN_region_is_EH (  )     (WN_region_kind(x) & REGION_KIND_EH)

Definition at line 1039 of file wn_core.h.

#define WN_region_pragmas (  )     WN_kid((x),1)

Definition at line 1085 of file wn_core.h.

#define WN_Reset_Asm_Clobbers_Cc (  )     (WN_asm_flag(x) &= ~WN_ASM_CLOBBERS_CC)

Definition at line 1589 of file wn_core.h.

#define WN_Reset_Asm_Clobbers_Mem (  )     (WN_asm_flag(x) &= ~WN_ASM_CLOBBERS_MEM)

Definition at line 1586 of file wn_core.h.

#define WN_Reset_Asm_Volatile (  )     (WN_asm_flag(x) &= ~WN_ASM_VOLATILE)

Definition at line 1583 of file wn_core.h.

#define WN_Reset_Call_Does_Mem_Alloc (  )     (WN_call_flag(x) &= ~WN_CALL_DOES_MEM_ALLOC)

Definition at line 1554 of file wn_core.h.

#define WN_Reset_Call_Does_Mem_Free (  )     (WN_call_flag(x) &= ~WN_CALL_DOES_MEM_FREE)

Definition at line 1557 of file wn_core.h.

#define WN_Reset_Call_Dont_Inline (  )     (WN_call_flag(x) &= ~WN_CALL_DONT_INLINE)

Definition at line 1551 of file wn_core.h.

#define WN_Reset_Call_Fortran_Pointer_Rule (  )     (WN_call_flag(x) &= ~WN_CALL_FORTRAN_POINTER_RULE)

Definition at line 1561 of file wn_core.h.

#define WN_Reset_Call_Inline (  )     (WN_call_flag(x) &= ~WN_CALL_INLINE)

Definition at line 1548 of file wn_core.h.

#define WN_Reset_Call_Is_Virtual (  )     (WN_call_flag(x) &= ~WN_CALL_IS_VIRTUAL)

Definition at line 1573 of file wn_core.h.

#define WN_Reset_Call_Never_Return (  )     (WN_call_flag(x) &= ~WN_CALL_NEVER_RETURN)

Definition at line 1527 of file wn_core.h.

#define WN_Reset_Call_Non_Data_Mod (  )     (WN_call_flag(x) &= ~WN_CALL_NON_DATA_MOD)

Definition at line 1530 of file wn_core.h.

#define WN_Reset_Call_Non_Data_Ref (  )     (WN_call_flag(x) &= ~WN_CALL_NON_DATA_REF)

Definition at line 1533 of file wn_core.h.

#define WN_Reset_Call_Non_Parm_Mod (  )     (WN_call_flag(x) &= ~WN_CALL_NON_PARM_MOD)

Definition at line 1536 of file wn_core.h.

#define WN_Reset_Call_Non_Parm_Ref (  )     (WN_call_flag(x) &= ~WN_CALL_NON_PARM_REF)

Definition at line 1539 of file wn_core.h.

#define WN_Reset_Call_Parm_Mod (  )     (WN_call_flag(x) &= ~WN_CALL_PARM_MOD)

Definition at line 1542 of file wn_core.h.

#define WN_Reset_Call_Parm_Ref (  )     (WN_call_flag(x) &= ~WN_CALL_PARM_REF)

Definition at line 1545 of file wn_core.h.

#define WN_Reset_Call_Replace_By_Jump (  )     (WN_call_flag(x) &= ~WN_CALL_REPLACE_BY_JUMP)

Definition at line 1565 of file wn_core.h.

#define WN_Reset_If_Guard (  )     (WN_if_flag(x) &= ~(WN_IF_IS_GUARD))

Definition at line 1366 of file wn_core.h.

#define WN_Reset_If_MpVersion (  )     (WN_if_flag(x) &= ~(WN_IF_IS_MPVERSION))

Definition at line 1371 of file wn_core.h.

#define WN_Reset_Label_Is_Break (  )     (WN_label_flag(x) &= ~(WN_LABEL_BREAK))

Definition at line 1376 of file wn_core.h.

#define WN_Reset_Label_Is_Handler_Begin (  ) 

Value:

Definition at line 1440 of file wn_core.h.

#define WN_Reset_Loop_Innermost (  )     (WN_loop_flag(x) &= ~WN_LOOP_INNERMOST)

Definition at line 1392 of file wn_core.h.

#define WN_Reset_Loop_Nz_Trip (  )     (WN_loop_flag(x) &= ~WN_LOOP_NZ_TRIP)

Definition at line 1429 of file wn_core.h.

#define WN_Reset_Loop_Symb_Trip (  )     (WN_loop_flag(x) &= ~WN_LOOP_SYMB_TRIP)

Definition at line 1433 of file wn_core.h.

#define WN_Reset_Loop_Unimportant_Misc (  )     (WN_loop_flag(x) &= ~WN_LOOP_UNIMPORTANT_MISC)

Definition at line 1420 of file wn_core.h.

#define WN_Reset_Loop_Winddown_Cache (  )     (WN_loop_flag(x) &= ~WN_LOOP_WINDDOWN_CACHE)

Definition at line 1407 of file wn_core.h.

#define WN_Reset_Loop_Winddown_Reg (  )     (WN_loop_flag(x) &= ~WN_LOOP_WINDDOWN_REG)

Definition at line 1398 of file wn_core.h.

#define WN_reset_pragma_omp (  )     ((WN_pragma_flags(x)) &= ~(WN_PRAGMA_OMP))

Definition at line 1053 of file wn_core.h.

#define WN_sclass (  )     (ST_sclass(WN_st(x)))

Definition at line 1149 of file wn_core.h.

#define WN_Set_Asm_Clobbers_Cc (  )     (WN_asm_flag(x) |= WN_ASM_CLOBBERS_CC)

Definition at line 1588 of file wn_core.h.

#define WN_Set_Asm_Clobbers_Mem (  )     (WN_asm_flag(x) |= WN_ASM_CLOBBERS_MEM)

Definition at line 1585 of file wn_core.h.

#define WN_Set_Asm_Volatile (  )     (WN_asm_flag(x) |= WN_ASM_VOLATILE)

Definition at line 1582 of file wn_core.h.

#define WN_Set_Call_Default_Flags (  )     (WN_call_flag(x) |= WN_CALL_CONSERVATIVE)

Definition at line 1567 of file wn_core.h.

#define WN_Set_Call_Does_Mem_Alloc (  )     (WN_call_flag(x) |= WN_CALL_DOES_MEM_ALLOC)

Definition at line 1553 of file wn_core.h.

#define WN_Set_Call_Does_Mem_Free (  )     (WN_call_flag(x) |= WN_CALL_DOES_MEM_FREE)

Definition at line 1556 of file wn_core.h.

#define WN_Set_Call_Dont_Inline (  )     (WN_call_flag(x) |= WN_CALL_DONT_INLINE)

Definition at line 1550 of file wn_core.h.

#define WN_Set_Call_Fortran_Pointer_Rule (  )     (WN_call_flag(x) |= WN_CALL_FORTRAN_POINTER_RULE)

Definition at line 1559 of file wn_core.h.

#define WN_Set_Call_Inline (  )     (WN_call_flag(x) |= WN_CALL_INLINE)

Definition at line 1547 of file wn_core.h.

#define WN_Set_Call_Is_Virtual (  )     (WN_call_flag(x) |= WN_CALL_IS_VIRTUAL)

Definition at line 1572 of file wn_core.h.

#define WN_Set_Call_Never_Return (  )     (WN_call_flag(x) |= WN_CALL_NEVER_RETURN)

Definition at line 1526 of file wn_core.h.

#define WN_Set_Call_Non_Data_Mod (  )     (WN_call_flag(x) |= WN_CALL_NON_DATA_MOD)

Definition at line 1529 of file wn_core.h.

#define WN_Set_Call_Non_Data_Ref (  )     (WN_call_flag(x) |= WN_CALL_NON_DATA_REF)

Definition at line 1532 of file wn_core.h.

#define WN_Set_Call_Non_Parm_Mod (  )     (WN_call_flag(x) |= WN_CALL_NON_PARM_MOD)

Definition at line 1535 of file wn_core.h.

#define WN_Set_Call_Non_Parm_Ref (  )     (WN_call_flag(x) |= WN_CALL_NON_PARM_REF)

Definition at line 1538 of file wn_core.h.

#define WN_Set_Call_Parm_Mod (  )     (WN_call_flag(x) |= WN_CALL_PARM_MOD)

Definition at line 1541 of file wn_core.h.

#define WN_Set_Call_Parm_Ref (  )     (WN_call_flag(x) |= WN_CALL_PARM_REF)

Definition at line 1544 of file wn_core.h.

#define WN_Set_Call_Replace_By_Jump (  )     (WN_call_flag(x) |= WN_CALL_REPLACE_BY_JUMP)

Definition at line 1564 of file wn_core.h.

#define WN_set_do_loop_info ( x,
li   )     (WN_kid((x),5) = (li))

Definition at line 1074 of file wn_core.h.

#define WN_Set_If_Guard (  )     (WN_if_flag(x) |= WN_IF_IS_GUARD)

Definition at line 1365 of file wn_core.h.

#define WN_Set_If_MpVersion (  )     (WN_if_flag(x) |= WN_IF_IS_MPVERSION)

Definition at line 1370 of file wn_core.h.

#define WN_Set_IO_Library ( x,
 )     (WN_io_flag(x) = (y))

Definition at line 1453 of file wn_core.h.

#define WN_Set_Label_Is_Break (  )     (WN_label_flag(x) |= WN_LABEL_BREAK)

Definition at line 1375 of file wn_core.h.

#define WN_Set_Label_Is_Handler_Begin (  ) 

Value:

Definition at line 1438 of file wn_core.h.

#define WN_set_label_loop_info ( x,
li   )     (WN_kid0(x) = (li))

Definition at line 1042 of file wn_core.h.

#define WN_set_loop_induction ( x,
ind   )     (WN_kid((x),0) = (ind))

Definition at line 1095 of file wn_core.h.

#define WN_Set_Loop_Innermost (  )     (WN_loop_flag(x) |= WN_LOOP_INNERMOST)

Definition at line 1391 of file wn_core.h.

#define WN_Set_Loop_Nz_Trip (  )     (WN_loop_flag(x) |= WN_LOOP_NZ_TRIP)

Definition at line 1428 of file wn_core.h.

#define WN_Set_Loop_Symb_Trip (  )     (WN_loop_flag(x) |= WN_LOOP_SYMB_TRIP)

Definition at line 1432 of file wn_core.h.

#define WN_set_loop_trip ( x,
trip   )     (WN_kid((x),1) = (trip))

Definition at line 1098 of file wn_core.h.

#define WN_Set_Loop_Unimportant_Misc (  )     (WN_loop_flag(x) |= WN_LOOP_UNIMPORTANT_MISC)

Definition at line 1418 of file wn_core.h.

#define WN_Set_Loop_Winddown_Cache (  )     (WN_loop_flag(x) |= WN_LOOP_WINDDOWN_CACHE)

Definition at line 1405 of file wn_core.h.

#define WN_Set_Loop_Winddown_Reg (  )     (WN_loop_flag(x) |= WN_LOOP_WINDDOWN_REG)

Definition at line 1397 of file wn_core.h.

#define WN_Set_Parm_By_Reference (  )     (WN_parm_flag(x) |= WN_PARM_BY_REFERENCE)

Definition at line 1478 of file wn_core.h.

#define WN_Set_Parm_By_Value (  )     (WN_parm_flag(x) |= WN_PARM_BY_VALUE)

Definition at line 1480 of file wn_core.h.

#define WN_Set_Parm_Dummy (  )     (WN_parm_flag(x) |= WN_PARM_DUMMY)

Definition at line 1486 of file wn_core.h.

#define WN_Set_Parm_In (  )     (WN_parm_flag(x) |= WN_PARM_IN)

Definition at line 1482 of file wn_core.h.

#define WN_Set_Parm_Is_Killed (  )     (WN_parm_flag(x) |= WN_PARM_IS_KILLED)

Definition at line 1493 of file wn_core.h.

#define WN_Set_Parm_Not_Exposed_Use (  )     (WN_parm_flag(x) |= WN_PARM_NOT_EXPOSED_USE)

Definition at line 1491 of file wn_core.h.

#define WN_Set_Parm_Out (  )     (WN_parm_flag(x) |= WN_PARM_OUT)

Definition at line 1484 of file wn_core.h.

#define WN_Set_Parm_Passed_Not_Saved (  )     (WN_parm_flag(x) |= WN_PARM_PASSED_NOT_SAVED)

Definition at line 1490 of file wn_core.h.

#define WN_Set_Parm_Read_Only (  )     (WN_parm_flag(x) |= WN_PARM_READ_ONLY)

Definition at line 1488 of file wn_core.h.

#define WN_set_pragma_compiler_generated (  )     ((WN_pragma_flags(x))|=WN_PRAGMA_COMPILER_GENERATED)

Definition at line 1050 of file wn_core.h.

#define WN_set_pragma_omp (  )     ((WN_pragma_flags(x)) |= WN_PRAGMA_OMP)

Definition at line 1052 of file wn_core.h.

#define WN_start (  )     WN_kid((x),1)

Definition at line 1068 of file wn_core.h.

#define WN_step (  )     WN_kid((x),3)

Definition at line 1070 of file wn_core.h.

#define WN_switch_default (  )     WN_kid((x),2)

Definition at line 1103 of file wn_core.h.

#define WN_switch_table (  )     WN_kid((x),1)

Definition at line 1102 of file wn_core.h.

#define WN_switch_test (  )     WN_kid((x),0)

Definition at line 1101 of file wn_core.h.

#define WN_then (  )     WN_kid((x),1)

Definition at line 1080 of file wn_core.h.

#define WN_type (  )     (ST_type(WN_st(x)))

Definition at line 1150 of file wn_core.h.

#define WN_while_body (  )     WN_kid((x),1)

Definition at line 1077 of file wn_core.h.

#define WN_while_test (  )     WN_kid((x),0)

Definition at line 1076 of file wn_core.h.


Typedef Documentation

typedef INT64 WN_ESIZE

Definition at line 406 of file wn_core.h.

typedef INT32 WN_MAP_ID

Definition at line 407 of file wn_core.h.

typedef INT32 WN_OFFSET

Definition at line 403 of file wn_core.h.


Enumeration Type Documentation

Enumerator:
REGION_KIND_PRAGMA 
REGION_KIND_FUNC_ENTRY 
REGION_KIND_LOOP 
REGION_KIND_OLIMIT 
REGION_KIND_MP 
REGION_KIND_RPI 
REGION_KIND_COLD 
REGION_KIND_SWP 
REGION_KIND_EH 
REGION_KIND_TRY 
REGION_KIND_CLEANUP 
REGION_KIND_EXC_SPEC 
REGION_KIND_MASK 
REGION_KIND_GUARD 
REGION_KIND_NULL_CLEANUP 
REGION_KIND_PRAGMA 
REGION_KIND_FUNC_ENTRY 
REGION_KIND_LOOP 
REGION_KIND_OLIMIT 
REGION_KIND_MP 
REGION_KIND_RPI 
REGION_KIND_COLD 
REGION_KIND_SWP 
REGION_KIND_EH 
REGION_KIND_TRY 
REGION_KIND_CLEANUP 
REGION_KIND_EXC_SPEC 
REGION_KIND_MASK 
REGION_KIND_GUARD 
REGION_KIND_NULL_CLEANUP 

Definition at line 409 of file wn_core.h.


Function Documentation

UINT32& WN_asm_flag ( WN wn  )  [inline]

Definition at line 763 of file wn_core.h.

References WN::u1u2, and WN::uu.

UINT32 WN_asm_flag ( const WN wn  )  [inline]

Definition at line 762 of file wn_core.h.

References WN::u1u2, and WN::uu.

char* WN_asm_input_constraint ( const WN wn  )  [inline]

Definition at line 1035 of file wn_core.h.

References ST_name, and WN_st().

UINT32& WN_asm_num_clobbers ( WN wn  )  [inline]

Definition at line 846 of file wn_core.h.

References WN::asm_fields, and WN::u3.

UINT32 WN_asm_num_clobbers ( const WN wn  )  [inline]

Definition at line 845 of file wn_core.h.

References WN::asm_fields, and WN::u3.

UINT32& WN_asm_num_inputs ( WN wn  )  [inline]

Definition at line 842 of file wn_core.h.

References WN::asm_fields, and WN::u3.

UINT32 WN_asm_num_inputs ( const WN wn  )  [inline]

Definition at line 841 of file wn_core.h.

References WN::asm_fields, and WN::u3.

UINT32& WN_asm_opnd_num ( WN wn  )  [inline]

Definition at line 844 of file wn_core.h.

References WN::u1u2, and WN::uu.

UINT32 WN_asm_opnd_num ( const WN wn  )  [inline]

Definition at line 843 of file wn_core.h.

References WN::u1u2, and WN::uu.

char* WN_asm_string ( const WN wn  )  [inline]

Definition at line 1034 of file wn_core.h.

References ST_name, and WN_st().

UINT WN_bit_offset ( const WN wn  )  [inline]

Definition at line 813 of file wn_core.h.

References WN::common, and WN::kid_count.

UINT WN_bit_size ( const WN wn  )  [inline]

Definition at line 814 of file wn_core.h.

References WN::common, and WN::kid_count.

UINT32& WN_call_flag ( WN wn  )  [inline]

Definition at line 757 of file wn_core.h.

References WN::u1u2, and WN::uu.

UINT32 WN_call_flag ( const WN wn  )  [inline]

Definition at line 756 of file wn_core.h.

References WN::u1u2, and WN::uu.

STMT_WN* WN_cast_WN_to_STMT_WN ( const WN x  )  [inline]

Definition at line 992 of file wn_core.h.

References WN_offset_in_STMT_WN().

INT64& WN_const_val ( WN wn  )  [inline]

Definition at line 834 of file wn_core.h.

References WN::const_val, and WN::u3.

INT64 WN_const_val ( const WN wn  )  [inline]

Definition at line 833 of file wn_core.h.

References WN::const_val, and WN::u3.

void WN_Copy_u1u2 ( WN dst,
const WN src 
) [inline]

Definition at line 862 of file wn_core.h.

References WN::u1u2.

void WN_Copy_u3 ( WN dst,
const WN src 
) [inline]

Definition at line 863 of file wn_core.h.

References WN::u3.

INT16& WN_cvtl_bits ( WN wn  )  [inline]

Definition at line 753 of file wn_core.h.

References WN::u1u2, and WN::uu.

INT16 WN_cvtl_bits ( const WN wn  )  [inline]

Definition at line 752 of file wn_core.h.

References WN::u1u2, and WN::uu.

TYPE_ID WN_desc ( const WN wn  )  [inline]

Definition at line 816 of file wn_core.h.

References WN::common, WN::desc, and TYPE_ID.

WN_ESIZE& WN_element_size ( WN wn  )  [inline]

Definition at line 803 of file wn_core.h.

References WN::element_size, and WN::u1u2.

WN_ESIZE WN_element_size ( const WN wn  )  [inline]

Definition at line 802 of file wn_core.h.

References WN::element_size, and WN::u1u2.

INITO_IDX& WN_ereg_supp ( WN wn  )  [inline]

Definition at line 801 of file wn_core.h.

References WN::u1u2, and WN::uu.

INITO_IDX WN_ereg_supp ( const WN wn  )  [inline]

Definition at line 800 of file wn_core.h.

References WN::u1u2, and WN::uu.

UINT32 WN_field_id ( const WN wn  )  [inline]

Definition at line 811 of file wn_core.h.

References WN::common, and WN::kid_count.

WN*& WN_first ( WN wn  )  [inline]

Definition at line 838 of file wn_core.h.

References WN::block, and WN::u3.

WN* WN_first ( const WN wn  )  [inline]

Definition at line 837 of file wn_core.h.

References WN::block, and WN::u3.

UINT32 WN_flag ( const WN wn  )  [inline]

INT64 WN_Get_Linenum ( const WN wn  )  [inline]

Definition at line 1330 of file wn_core.h.

References OPCODE_has_next_prev(), WN_linenum(), and WN_opcode().

WN_OFFSET& WN_idname_offset ( WN wn  )  [inline]

Definition at line 747 of file wn_core.h.

References WN::u1u2, and WN::uu.

WN_OFFSET WN_idname_offset ( const WN wn  )  [inline]

Definition at line 746 of file wn_core.h.

References WN::u1u2, and WN::uu.

UINT32& WN_if_flag ( WN wn  )  [inline]

Definition at line 759 of file wn_core.h.

References WN::u1u2, and WN::uu.

UINT32 WN_if_flag ( const WN wn  )  [inline]

Definition at line 758 of file wn_core.h.

References WN::u1u2, and WN::uu.

INTRINSIC& WN_intrinsic ( WN wn  )  [inline]

Definition at line 789 of file wn_core.h.

References WN::u1u2, and WN::uu.

INTRINSIC WN_intrinsic ( const WN wn  )  [inline]

Definition at line 788 of file wn_core.h.

References WN::u1u2, and WN::uu.

UINT32& WN_io_flag ( WN wn  )  [inline]

Definition at line 761 of file wn_core.h.

References WN::u1u2, and WN::uu.

UINT32 WN_io_flag ( const WN wn  )  [inline]

Definition at line 760 of file wn_core.h.

References WN::u1u2, and WN::uu.

IOITEM& WN_io_item ( WN wn  )  [inline]

Definition at line 793 of file wn_core.h.

References WN::u1u2, and WN::uu.

IOITEM WN_io_item ( const WN wn  )  [inline]

Definition at line 792 of file wn_core.h.

References WN::u1u2, and WN::uu.

IOSTATEMENT& WN_io_statement ( WN wn  )  [inline]

Definition at line 791 of file wn_core.h.

References WN::u1u2, and WN::uu.

IOSTATEMENT WN_io_statement ( const WN wn  )  [inline]

Definition at line 790 of file wn_core.h.

References WN::u1u2, and WN::uu.

BOOL WN_Is_Volatile_Mem ( const WN wn  )  [inline]

WN*& WN_kid ( WN wn,
int  i 
) [inline]

Definition at line 822 of file wn_core.h.

References WN::kids, and WN::u3.

WN* WN_kid ( const WN wn,
int  i 
) [inline]

Definition at line 821 of file wn_core.h.

References WN::kids, and WN::u3.

WN*& WN_kid0 ( WN wn  )  [inline]

Definition at line 824 of file wn_core.h.

References WN::kids, and WN::u3.

WN* WN_kid0 ( const WN wn  )  [inline]

Definition at line 823 of file wn_core.h.

References WN::kids, and WN::u3.

WN*& WN_kid1 ( WN wn  )  [inline]

Definition at line 826 of file wn_core.h.

References WN::kids, and WN::u3.

WN* WN_kid1 ( const WN wn  )  [inline]

Definition at line 825 of file wn_core.h.

References WN::kids, and WN::u3.

WN*& WN_kid2 ( WN wn  )  [inline]

Definition at line 829 of file wn_core.h.

References WN::kids, and WN::u3.

WN* WN_kid2 ( const WN wn  )  [inline]

Definition at line 828 of file wn_core.h.

References WN::kids, and WN::u3.

WN*& WN_kid3 ( WN wn  )  [inline]

Definition at line 831 of file wn_core.h.

References WN::kids, and WN::u3.

WN* WN_kid3 ( const WN wn  )  [inline]

Definition at line 830 of file wn_core.h.

References WN::kids, and WN::u3.

INT WN_kid_count ( const WN wn  )  [inline]

Definition at line 809 of file wn_core.h.

References WN::common, WN::kid_count, OPERATOR_nkids(), and WN_operator().

UINT32& WN_label_flag ( WN wn  )  [inline]

Definition at line 836 of file wn_core.h.

References WN::label_flag_fields, and WN::u3.

UINT32 WN_label_flag ( const WN wn  )  [inline]

Definition at line 835 of file wn_core.h.

References WN::label_flag_fields, and WN::u3.

UINT32& WN_label_level ( WN wn  )  [inline]

Definition at line 765 of file wn_core.h.

References WN::u1u2, and WN::uu.

UINT32 WN_label_level ( const WN wn  )  [inline]

Definition at line 764 of file wn_core.h.

References WN::u1u2, and WN::uu.

INT32& WN_label_number ( WN wn  )  [inline]

Definition at line 755 of file wn_core.h.

References WN::u1u2, and WN::uu.

INT32 WN_label_number ( const WN wn  )  [inline]

Definition at line 754 of file wn_core.h.

References WN::u1u2, and WN::uu.

WN*& WN_last ( WN wn  )  [inline]

Definition at line 840 of file wn_core.h.

References WN::block, and WN::u3.

WN* WN_last ( const WN wn  )  [inline]

Definition at line 839 of file wn_core.h.

References WN::block, and WN::u3.

INT32& WN_last_label ( WN wn  )  [inline]

Definition at line 799 of file wn_core.h.

References WN::u1u2, and WN::uu.

INT32 WN_last_label ( const WN wn  )  [inline]

Definition at line 798 of file wn_core.h.

References WN::u1u2, and WN::uu.

WN_OFFSET& WN_lda_offset ( WN wn  )  [inline]

Definition at line 743 of file wn_core.h.

References WN::u1u2, and WN::uu.

WN_OFFSET WN_lda_offset ( const WN wn  )  [inline]

Definition at line 742 of file wn_core.h.

References WN::u1u2, and WN::uu.

mUINT64& WN_linenum ( WN wn  )  [inline]

Definition at line 1003 of file wn_core.h.

References WN_cast_WN_to_STMT_WN().

mUINT64 WN_linenum ( const WN wn  )  [inline]

Definition at line 1002 of file wn_core.h.

References WN_cast_WN_to_STMT_WN().

TY_IDX WN_load_addr_ty ( const WN wn  )  [inline]

Definition at line 1202 of file wn_core.h.

References OPR_ILDBITS, OPR_ILOAD, WN::ty_fields, WN::u1u2, WN::u3, WN::uu, and WN_operator().

WN_OFFSET& WN_load_offset ( WN wn  )  [inline]

Definition at line 741 of file wn_core.h.

References WN::u1u2, and WN::uu.

WN_OFFSET WN_load_offset ( const WN wn  )  [inline]

Definition at line 740 of file wn_core.h.

References WN::u1u2, and WN::uu.

mUINT16& WN_loop_depth ( WN wn  )  [inline]

Definition at line 769 of file wn_core.h.

References WN::u1u2, and WN::uu.

mUINT16 WN_loop_depth ( const WN wn  )  [inline]

Definition at line 768 of file wn_core.h.

References WN::u1u2, and WN::uu.

UINT32& WN_loop_flag ( WN wn  )  [inline]

Definition at line 797 of file wn_core.h.

References WN::u1u2, and WN::uu.

UINT32 WN_loop_flag ( const WN wn  )  [inline]

Definition at line 796 of file wn_core.h.

References WN::u1u2, and WN::uu.

mUINT16& WN_loop_trip_est ( WN wn  )  [inline]

Definition at line 767 of file wn_core.h.

References WN::u1u2, and WN::uu.

mUINT16 WN_loop_trip_est ( const WN wn  )  [inline]

Definition at line 766 of file wn_core.h.

References WN::u1u2, and WN::uu.

INT32 WN_map_id ( const WN wn  )  [inline]

Definition at line 818 of file wn_core.h.

References WN::common, and WN::map_id.

WN*& WN_next ( WN wn  )  [inline]

Definition at line 1001 of file wn_core.h.

References next, and WN_cast_WN_to_STMT_WN().

WN* WN_next ( const WN wn  )  [inline]

Definition at line 1000 of file wn_core.h.

References next, and WN_cast_WN_to_STMT_WN().

mINT16 WN_num_actuals ( const WN wn  )  [inline]

Definition at line 1600 of file wn_core.h.

References i, INT32, n, OPR_ICALL, OPR_PARM, OPR_PICCALL, WN_kid(), WN_kid_count(), WN_operator(), and WN_Parm_Dummy.

INT32& WN_num_entries ( WN wn  )  [inline]

Definition at line 751 of file wn_core.h.

References WN::u1u2, and WN::uu.

INT32 WN_num_entries ( const WN wn  )  [inline]

Definition at line 750 of file wn_core.h.

References WN::u1u2, and WN::uu.

WN_OFFSET& WN_offset ( WN wn  )  [inline]

Definition at line 749 of file wn_core.h.

References WN::u1u2, and WN::uu.

WN_OFFSET WN_offset ( const WN wn  )  [inline]

Definition at line 748 of file wn_core.h.

References WN::u1u2, and WN::uu.

UINTPS WN_offset_in_STMT_WN ( const WN x  )  [inline]

Definition at line 987 of file wn_core.h.

OPCODE WN_opcode ( const WN wn  )  [inline]

Definition at line 953 of file wn_core.h.

References WN::common, WN::desc, OPCODE_make_op(), WN::rtype, and WN::wn_operator.

OPERATOR WN_operator ( const WN wn  )  [inline]

Definition at line 805 of file wn_core.h.

References WN::common, and WN::wn_operator.

mUINT16& WN_pragma ( WN wn  )  [inline]

Definition at line 773 of file wn_core.h.

References WN::u1u2, and WN::uu.

mUINT16 WN_pragma ( const WN wn  )  [inline]

Definition at line 772 of file wn_core.h.

References WN::u1u2, and WN::uu.

INT32& WN_pragma_arg1 ( WN wn  )  [inline]

Definition at line 850 of file wn_core.h.

References WN::pragma, and WN::u3.

INT32 WN_pragma_arg1 ( const WN wn  )  [inline]

Definition at line 849 of file wn_core.h.

References WN::pragma, and WN::u3.

INT32& WN_pragma_arg2 ( WN wn  )  [inline]

Definition at line 852 of file wn_core.h.

References WN::pragma, and WN::u3.

INT32 WN_pragma_arg2 ( const WN wn  )  [inline]

Definition at line 851 of file wn_core.h.

References WN::pragma, and WN::u3.

INT64& WN_pragma_arg64 ( WN wn  )  [inline]

Definition at line 848 of file wn_core.h.

References WN::pragma, and WN::u3.

INT64 WN_pragma_arg64 ( const WN wn  )  [inline]

Definition at line 847 of file wn_core.h.

References WN::pragma, and WN::u3.

char* WN_pragma_asm_constraint ( const WN wn  )  [inline]

Definition at line 775 of file wn_core.h.

References ST_name, St_Table, and WN_pragma_arg1().

PREG_NUM WN_pragma_asm_copyout_preg ( const WN wn  )  [inline]

Definition at line 776 of file wn_core.h.

References WN::pragma, and WN::u3.

UINT32 WN_pragma_asm_opnd_num ( const WN wn  )  [inline]

Definition at line 778 of file wn_core.h.

References WN::pragma, and WN::u3.

mINT8& WN_pragma_distr_type ( WN wn  )  [inline]

Definition at line 854 of file wn_core.h.

References WN::pragma, and WN::u3.

mINT8 WN_pragma_distr_type ( const WN wn  )  [inline]

Definition at line 853 of file wn_core.h.

References WN::pragma, and WN::u3.

mUINT16& WN_pragma_flags ( WN wn  )  [inline]

Definition at line 771 of file wn_core.h.

References WN::u1u2, and WN::uu.

mUINT16 WN_pragma_flags ( const WN wn  )  [inline]

Definition at line 770 of file wn_core.h.

References WN::u1u2, and WN::uu.

mINT8& WN_pragma_index ( WN wn  )  [inline]

Definition at line 856 of file wn_core.h.

References WN::pragma, and WN::u3.

mINT8 WN_pragma_index ( const WN wn  )  [inline]

Definition at line 855 of file wn_core.h.

References WN::pragma, and WN::u3.

INT32& WN_pragma_preg ( WN wn  )  [inline]

Definition at line 858 of file wn_core.h.

References WN::pragma, and WN::u3.

INT32 WN_pragma_preg ( const WN wn  )  [inline]

Definition at line 857 of file wn_core.h.

References WN::pragma, and WN::u3.

UINT32& WN_prefetch_flag ( WN wn  )  [inline]

Definition at line 795 of file wn_core.h.

References WN::u1u2, and WN::uu.

UINT32 WN_prefetch_flag ( const WN wn  )  [inline]

Definition at line 794 of file wn_core.h.

References WN::u1u2, and WN::uu.

WN*& WN_prev ( WN wn  )  [inline]

Definition at line 999 of file wn_core.h.

References prev, and WN_cast_WN_to_STMT_WN().

WN* WN_prev ( const WN wn  )  [inline]

Definition at line 998 of file wn_core.h.

References prev, and WN_cast_WN_to_STMT_WN().

WN*& WN_prev_free ( STMT_WN stmt_wn  )  [inline]

Definition at line 1005 of file wn_core.h.

References STMT_WN::prev.

WN* WN_prev_free ( const STMT_WN stmt_wn  )  [inline]

Definition at line 1004 of file wn_core.h.

References STMT_WN::prev.

WN& WN_real_fields ( STMT_WN stmt_wn  )  [inline]

Definition at line 1006 of file wn_core.h.

References STMT_WN::wn.

mUINT32 WN_region_id ( const WN wn  )  [inline]

Definition at line 783 of file wn_core.h.

References WN::u1u2, and WN::uu.

REGION_KIND WN_region_kind ( const WN wn  )  [inline]

Definition at line 781 of file wn_core.h.

References WN::u1u2, and WN::uu.

TYPE_ID WN_rtype ( const WN wn  )  [inline]

Definition at line 807 of file wn_core.h.

References WN::common, WN::rtype, and TYPE_ID.

void WN_set_bit_offset_size ( WN wn,
UINT  ofst,
UINT  siz 
) [inline]

Definition at line 815 of file wn_core.h.

References WN::common, and WN::kid_count.

void WN_set_desc ( WN wn,
TYPE_ID  ty 
) [inline]

Definition at line 817 of file wn_core.h.

References WN::common, and WN::desc.

void WN_set_field_id ( WN wn,
UINT  n 
) [inline]

Definition at line 812 of file wn_core.h.

References WN::common, WN::kid_count, MAX_FIELD_ID, and UNKNOWN_FIELD_ID.

void WN_set_flag ( WN wn,
UINT32  flag 
) [inline]

void WN_set_kid_count ( WN wn,
UINT  n 
) [inline]

Definition at line 810 of file wn_core.h.

References WN::common, WN::kid_count, OPERATOR_nkids(), and WN_operator().

void WN_Set_Linenum ( WN wn,
INT64  ln 
) [inline]

Definition at line 1322 of file wn_core.h.

References Is_True, OPCODE_has_next_prev(), WN_linenum(), and WN_opcode().

void WN_set_load_addr_ty ( WN wn,
TY_IDX  ty 
) [inline]

Definition at line 1214 of file wn_core.h.

References OPR_ILDBITS, OPR_ILOAD, WN::ty_fields, WN::u1u2, WN::u3, WN::uu, and WN_operator().

void WN_set_map_id ( WN wn,
INT32  m 
) [inline]

Definition at line 819 of file wn_core.h.

References WN::common, and WN::map_id.

void WN_set_opcode ( WN wn,
OPCODE  opc 
) [inline]

void WN_set_operator ( WN wn,
OPERATOR  opr 
) [inline]

Definition at line 806 of file wn_core.h.

References WN::common, and WN::wn_operator.

void WN_set_pragma_asm_copyout_preg ( WN wn,
PREG_NUM  r 
) [inline]

Definition at line 777 of file wn_core.h.

References WN::pragma, and WN::u3.

void WN_set_pragma_asm_opnd_num ( WN wn,
UINT32  i 
) [inline]

Definition at line 779 of file wn_core.h.

References WN::pragma, and WN::u3.

void WN_set_region_id ( WN wn,
mUINT32  i 
) [inline]

Definition at line 784 of file wn_core.h.

References WN::u1u2, and WN::uu.

void WN_set_region_kind ( WN wn,
REGION_KIND  k 
) [inline]

Definition at line 782 of file wn_core.h.

References WN::u1u2, and WN::uu.

void WN_set_rtype ( WN wn,
TYPE_ID  ty 
) [inline]

Definition at line 808 of file wn_core.h.

References WN::common, and WN::rtype.

void WN_set_ty ( WN wn,
TY_IDX  ty 
) [inline]

INT32 WN_Size ( WN wn  )  [inline]

Definition at line 1311 of file wn_core.h.

References INT16, MAX, mUINT64, OPCODE_has_next_prev(), WN_kid_count(), and WN_opcode().

ST* WN_st ( const WN x  )  [inline]

Definition at line 1022 of file wn_core.h.

References Is_True, NULL, ST_IDX_index(), St_Table, WN_has_sym, and WN_st_idx().

ST_IDX& WN_st_idx ( WN wn  )  [inline]

Definition at line 787 of file wn_core.h.

References WN::u1u2, and WN::uu.

ST_IDX WN_st_idx ( const WN wn  )  [inline]

Definition at line 786 of file wn_core.h.

References WN::u1u2, and WN::uu.

void* WN_StartAddress ( WN wn  )  [inline]

Definition at line 1302 of file wn_core.h.

References OPCODE_has_next_prev(), WN_cast_WN_to_STMT_WN(), and WN_opcode().

WN_OFFSET& WN_store_offset ( WN wn  )  [inline]

Definition at line 745 of file wn_core.h.

References WN::u1u2, and WN::uu.

WN_OFFSET WN_store_offset ( const WN wn  )  [inline]

Definition at line 744 of file wn_core.h.

References WN::u1u2, and WN::uu.

TY_IDX WN_ty ( const WN wn  )  [inline]

TCON& WN_val ( const WN x  )  [inline]

Definition at line 1153 of file wn_core.h.

References ST_tcon_val(), and WN_st().

TYPE_ID WN_val_type ( const WN x  )  [inline]

Definition at line 1156 of file wn_core.h.

References TCON_ty, and WN_val().


Generated on Wed Apr 8 14:40:24 2009 for Open64 by  doxygen 1.5.6