OpenADFortTk (including Open64 and OpenAnalysis references)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
wn_core.h File Reference
#include "symtab.h"
#include "irbdata.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.

Classes

class  WN
 
class  STMT_WN_BASE
 
class  STMT_WN
 

Macros

#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_CAST_WN_TO_STMT_WN(x)   ((STMT_WN *)( (STMT_WN_BASE *)x - 1))
 
#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
 
#define WN_PARM_PASSED_NOT_SAVED
 
#define WN_PARM_NOT_EXPOSED_USE   0x40 /* there is no exposed use */
 
#define WN_PARM_IS_KILLED
 
#define WN_PARM_PASS_ADDRESS   0x0100
 
#define WN_PARM_PASS_ADDRESS_FROM_DV   0x0200
 
#define WN_PARM_PASS_DV   0x0400
 
#define WN_PARM_PASS_DV_COPY   0x0800
 
#define WN_PARM_COPY_IN   0x2000
 
#define WN_PARM_COPY_IN_COPY_OUT   0x4000
 
#define WN_PARM_MAKE_DV   0x8000
 
#define WN_PARM_COPY_IN_MAKE_DV   0x010000
 
#define WN_PARM_MAKE_NEW_DV   0x020000
 
#define WN_PARM_PASS_SECTION_ADDRESS   0x040000
 
#define WN_PARM_CHECK_CONTIG_FLAG   0x080000
 
#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_Clear_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_Clear_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_Parm_Pass_Address(x)   (WN_parm_flag(x) & WN_PARM_PASS_ADDRESS)
 
#define WN_Set_Parm_Pass_Address(x)   (WN_parm_flag(x) |= WN_PARM_PASS_ADDRESS)
 
#define WN_Parm_Pass_Address_From_Dv(x)   (WN_parm_flag(x) & WN_PARM_PASS_ADDRESS_FROM_DV)
 
#define WN_Set_Parm_Pass_Address_From_Dv(x)   (WN_parm_flag(x) |= WN_PARM_PASS_ADDRESS_FROM_DV)
 
#define WN_Parm_Pass_Dv(x)   (WN_parm_flag(x) & WN_PARM_PASS_DV)
 
#define WN_Set_Parm_Pass_Dv(x)   (WN_parm_flag(x) |= WN_PARM_PASS_DV)
 
#define WN_Parm_Pass_Dv_Copy(x)   (WN_parm_flag(x) & WN_PARM_PASS_DV_COPY)
 
#define WN_Set_Parm_Pass_Dv_Copy(x)   (WN_parm_flag(x) |= WN_PARM_PASS_DV_COPY)
 
#define WN_Parm_Copy_In(x)   (WN_parm_flag(x) & WN_PARM_COPY_IN)
 
#define WN_Set_Parm_Copy_In(x)   (WN_parm_flag(x) |= WN_PARM_COPY_IN)
 
#define WN_Parm_Copy_In_Copy_out(x)   (WN_parm_flag(x) & WN_PARM_BY_REFERENCE)
 
#define WN_Set_Parm_Copy_In_Copy_out(x)   (WN_parm_flag(x) |= WN_PARM_COPY_IN_COPY_OUT)
 
#define WN_Parm_Make_Dv(x)   (WN_parm_flag(x) & WN_PARM_MAKE_DV)
 
#define WN_Set_Parm_Make_Dv(x)   (WN_parm_flag(x) |= WN_PARM_MAKE_DV)
 
#define WN_Parm_Copy_In_Make_Dv(x)   (WN_parm_flag(x) & WN_PARM_COPY_IN_MAKE_DV)
 
#define WN_Set_Parm_Copy_In_Make_Dv(x)   (WN_parm_flag(x) |= WN_PARM_COPY_IN_MAKE_DV)
 
#define WN_Parm_Make_New_Dv(x)   (WN_parm_flag(x) & WN_PARM_MAKE_NEW_DV)
 
#define WN_Set_Parm_Make_New_Dv(x)   (WN_parm_flag(x) |= WN_PARM_MAKE_NEW_DV)
 
#define WN_Parm_Pass_Section_Address(x)   (WN_parm_flag(x) & WN_PARM_PASS_SECTION_ADDRESS)
 
#define WN_Set_Parm_Pass_Section_Address(x)   (WN_parm_flag(x) |= WN_PARM_PASS_SECTION_ADDRESS)
 
#define WN_Parm_Check_Contig_Flag(x)   (WN_parm_flag(x) & WN_PARM_CHECK_CONTIG_FLAG)
 
#define WN_Set_Parm_Check_Contig_Flag(x)   (WN_parm_flag(x) |= WN_PARM_CHECK_CONTIG_FLAG)
 
#define WN_EQ_IS_LOGICAL   0x01 /*OPR_EQ or OPR_NE is logical opr */
 
#define WN_Eq_Is_Logical(x)   (WN_eq_logical_flag(x) & WN_EQ_IS_LOGICAL)
 
#define WN_Set_Eq_Is_Logical(x)   (WN_eq_logical_flag(x) |= WN_EQ_IS_LOGICAL)
 
#define WN_Reset_Eq_Is_Logical(x)   (WN_eq_logical_flag(x) &= WN_EQ_IS_LOGICAL)
 
#define WN_CALL_NEVER_RETURN   0x01 /* call will never return */
 
#define WN_CALL_NON_DATA_MOD   0x02 /* modifies data not present in program */
 
#define WN_CALL_NON_PARM_MOD   0x04 /* modifies data whose address is not passed as parameter */
 
#define WN_CALL_PARM_MOD   0x08 /* modifies data whose address is passed as parameter */
 
#define WN_CALL_NON_DATA_REF   0x10 /* references data not present in program */
 
#define WN_CALL_NON_PARM_REF   0x20 /* references data whose address is not passed as parameter */
 
#define WN_CALL_PARM_REF   0x40 /* references data whose address is passed as parameter */
 
#define WN_CALL_INLINE   0x80 /* marked for IPA to attempt to inline */
 
#define WN_CALL_DONT_INLINE   0x100 /* marked for IPA to not inline */
 
#define WN_CALL_DOES_MEM_ALLOC   0x200 /* malloc_like function */
 
#define WN_CALL_DOES_MEM_FREE   0x400 /* free_like function */
 
#define WN_CALL_FORTRAN_POINTER_RULE
 
#define WN_CALL_REPLACE_BY_JUMP   0x1000 /* replace call by jump in thunks */
 
#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_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
 
typedef enum REGION_KIND REGION_KIND
 

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
}
 

Functions

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)
 
INT16WN_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_eq_logical_flag (const WN *wn)
 
UINT32WN_eq_logical_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)
 
UINT 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)
 
INT32WN_map_id (WN *wn)
 
WNWN_kid (const WN *wn, const int i)
 
WN *& WN_kid (WN *wn, const 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)
 
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)
 
void * WN_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)
 

Macro Definition Documentation

#define max (   a,
 
)    ((a > b) ? a : b)
#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 376 of file wn_core.h.

Referenced by WN_set_field_id().

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

Definition at line 1605 of file wn_core.h.

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

Definition at line 1606 of file wn_core.h.

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

Definition at line 1601 of file wn_core.h.

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

Definition at line 1603 of file wn_core.h.

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

Definition at line 1604 of file wn_core.h.

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

Definition at line 1602 of file wn_core.h.

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

Definition at line 1612 of file wn_core.h.

#define PF_SET_MANUAL (   flag)    flag |= 0x02000000

Definition at line 1613 of file wn_core.h.

#define PF_SET_READ (   flag)    flag &= 0xfeffffff

Definition at line 1608 of file wn_core.h.

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

Definition at line 1610 of file wn_core.h.

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

Definition at line 1611 of file wn_core.h.

#define PF_SET_WRITE (   flag)    flag |= 0x01000000

Definition at line 1609 of file wn_core.h.

#define PF_UNSET_MANUAL (   flag)    flag &= 0xfdffffff

Definition at line 1614 of file wn_core.h.

#define UNKNOWN_FIELD_ID   0x3fff

Definition at line 377 of file wn_core.h.

Referenced by WN_set_field_id().

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

Definition at line 1023 of file wn_core.h.

#define WN_asm_clobbers (   x)    (WN_kid0(x))

Definition at line 884 of file wn_core.h.

#define WN_ASM_CLOBBERS_CC   0x0004

Definition at line 1537 of file wn_core.h.

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

Definition at line 1545 of file wn_core.h.

Referenced by ir_put_wn().

#define WN_ASM_CLOBBERS_MEM   0x0002

Definition at line 1536 of file wn_core.h.

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

Definition at line 1542 of file wn_core.h.

Referenced by ir_put_wn().

#define WN_asm_constraints (   x)    (WN_kid1(x))

Definition at line 885 of file wn_core.h.

#define WN_ASM_VOLATILE   0x0001

Definition at line 1535 of file wn_core.h.

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

Definition at line 1539 of file wn_core.h.

Referenced by ir_put_wn().

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

Definition at line 1093 of file wn_core.h.

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

Definition at line 1094 of file wn_core.h.

#define WN_CALL_CONSERVATIVE
Value:
WN_CALL_NON_PARM_MOD | \
WN_CALL_PARM_MOD | \
WN_CALL_NON_DATA_REF | \
WN_CALL_NON_PARM_REF | \
WN_CALL_PARM_REF)

Definition at line 1480 of file wn_core.h.

#define WN_CALL_DOES_MEM_ALLOC   0x200 /* malloc_like function */

Definition at line 1468 of file wn_core.h.

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

Definition at line 1514 of file wn_core.h.

#define WN_CALL_DOES_MEM_FREE   0x400 /* free_like function */

Definition at line 1469 of file wn_core.h.

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

Definition at line 1517 of file wn_core.h.

#define WN_CALL_DONT_INLINE   0x100 /* marked for IPA to not inline */

Definition at line 1467 of file wn_core.h.

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

Definition at line 1511 of file wn_core.h.

#define WN_CALL_FORTRAN_POINTER_RULE
Value:
0x800 /* call obeys fortran semantics as
regards points-to
relationships */

Definition at line 1470 of file wn_core.h.

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

Definition at line 1520 of file wn_core.h.

#define WN_CALL_INLINE   0x80 /* marked for IPA to attempt to inline */

Definition at line 1466 of file wn_core.h.

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

Definition at line 1508 of file wn_core.h.

#define WN_CALL_NEVER_RETURN   0x01 /* call will never return */

Definition at line 1459 of file wn_core.h.

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

Definition at line 1487 of file wn_core.h.

#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)

Definition at line 1530 of file wn_core.h.

#define WN_CALL_NON_DATA_MOD   0x02 /* modifies data not present in program */

Definition at line 1460 of file wn_core.h.

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

Definition at line 1490 of file wn_core.h.

#define WN_CALL_NON_DATA_REF   0x10 /* references data not present in program */

Definition at line 1463 of file wn_core.h.

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

Definition at line 1493 of file wn_core.h.

#define WN_CALL_NON_PARM_MOD   0x04 /* modifies data whose address is not passed as parameter */

Definition at line 1461 of file wn_core.h.

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

Definition at line 1496 of file wn_core.h.

#define WN_CALL_NON_PARM_REF   0x20 /* references data whose address is not passed as parameter */

Definition at line 1464 of file wn_core.h.

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

Definition at line 1499 of file wn_core.h.

#define WN_CALL_PARM_MOD   0x08 /* modifies data whose address is passed as parameter */

Definition at line 1462 of file wn_core.h.

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

Definition at line 1502 of file wn_core.h.

#define WN_CALL_PARM_REF   0x40 /* references data whose address is passed as parameter */

Definition at line 1465 of file wn_core.h.

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

Definition at line 1505 of file wn_core.h.

Definition at line 1531 of file wn_core.h.

#define WN_CALL_REPLACE_BY_JUMP   0x1000 /* replace call by jump in thunks */

Definition at line 1473 of file wn_core.h.

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

Definition at line 1525 of file wn_core.h.

#define WN_CAST_WN_TO_STMT_WN (   x)    ((STMT_WN *)( (STMT_WN_BASE *)x - 1))

Definition at line 929 of file wn_core.h.

Referenced by WN_linenum(), WN_next(), WN_prev(), and WN_StartAddress().

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

Definition at line 1080 of file wn_core.h.

Referenced by whirl2xaif::WN2F_String_Argument(), and WN_Can_Be_Speculative().

#define WN_Clear_Parm_By_Reference (   x)    (WN_parm_flag(x) &= ~WN_PARM_BY_REFERENCE)

Definition at line 1412 of file wn_core.h.

#define WN_Clear_Parm_By_Value (   x)    (WN_parm_flag(x) &= ~WN_PARM_BY_VALUE)

Definition at line 1415 of file wn_core.h.

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

Definition at line 1006 of file wn_core.h.

Referenced by ir_put_stmt(), and WN_TREE_put_stmt().

#define WN_else (   x)    WN_kid((x),2)
#define WN_else_is_empty (   x)    (WN_first(WN_else(x)) == NULL)

Definition at line 1016 of file wn_core.h.

Referenced by WB_BROWSER::Loops_Walk().

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

Definition at line 996 of file wn_core.h.

Referenced by Get_Preamble_End().

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

Definition at line 997 of file wn_core.h.

#define WN_EQ_IS_LOGICAL   0x01 /*OPR_EQ or OPR_NE is logical opr */

Definition at line 1454 of file wn_core.h.

#define WN_Eq_Is_Logical (   x)    (WN_eq_logical_flag(x) & WN_EQ_IS_LOGICAL)

Definition at line 1455 of file wn_core.h.

#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)

Definition at line 994 of file wn_core.h.

Referenced by WN_CreateEntry().

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

Definition at line 1091 of file wn_core.h.

#define WN_IF_IS_GUARD   0x1

Definition at line 1295 of file wn_core.h.

#define WN_IF_IS_MPVERSION   0x2

Definition at line 1300 of file wn_core.h.

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

Definition at line 1376 of file wn_core.h.

Referenced by ir_put_wn().

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

Definition at line 1296 of file wn_core.h.

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

Definition at line 1301 of file wn_core.h.

#define WN_LABEL_BREAK   0x1

Definition at line 1305 of file wn_core.h.

#define WN_LABEL_HANDLER_BEGIN   0x2

Definition at line 1367 of file wn_core.h.

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

Definition at line 1306 of file wn_core.h.

#define WN_Label_Is_Handler_Begin (   x)
Value:
WN_LABEL_HANDLER_BEGIN)

Definition at line 1368 of file wn_core.h.

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

Definition at line 974 of file wn_core.h.

Referenced by ir_put_stmt(), and WN_TREE_put_stmt().

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

Definition at line 1027 of file wn_core.h.

Referenced by ir_put_stmt(), and WN_TREE_put_stmt().

#define WN_LOOP_INNERMOST   0x1

Definition at line 1312 of file wn_core.h.

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

Definition at line 1322 of file wn_core.h.

#define WN_LOOP_NZ_TRIP   0x10

Definition at line 1316 of file wn_core.h.

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

Definition at line 1359 of file wn_core.h.

#define WN_LOOP_SYMB_TRIP   0x20

Definition at line 1319 of file wn_core.h.

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

Definition at line 1363 of file wn_core.h.

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

Definition at line 1030 of file wn_core.h.

Referenced by ir_put_stmt(), and WN_TREE_put_stmt().

#define WN_Loop_Unimportant (   x)
#define WN_LOOP_UNIMPORTANT_MISC   0x8

Definition at line 1315 of file wn_core.h.

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

Definition at line 1348 of file wn_core.h.

#define WN_LOOP_WINDDOWN_CACHE   0x4

Definition at line 1314 of file wn_core.h.

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

Definition at line 1335 of file wn_core.h.

#define WN_LOOP_WINDDOWN_REG   0x2

Definition at line 1313 of file wn_core.h.

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

Definition at line 1328 of file wn_core.h.

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

Definition at line 1077 of file wn_core.h.

Referenced by WN_CreateIstorex(), WN_CreatePrefetchx(), WN_RotateIntconst(), and WN_Tas().

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

Definition at line 1410 of file wn_core.h.

Referenced by Find_addr_recur().

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

Definition at line 1413 of file wn_core.h.

Referenced by whirl2xaif::xlate_CALL().

#define WN_PARM_CHECK_CONTIG_FLAG   0x080000

Definition at line 1407 of file wn_core.h.

Referenced by ir_put_wn().

#define WN_Parm_Check_Contig_Flag (   x)    (WN_parm_flag(x) & WN_PARM_CHECK_CONTIG_FLAG)

Definition at line 1451 of file wn_core.h.

#define WN_PARM_COPY_IN   0x2000

Definition at line 1401 of file wn_core.h.

Referenced by ir_put_wn().

#define WN_Parm_Copy_In (   x)    (WN_parm_flag(x) & WN_PARM_COPY_IN)

Definition at line 1439 of file wn_core.h.

#define WN_PARM_COPY_IN_COPY_OUT   0x4000

Definition at line 1402 of file wn_core.h.

Referenced by ir_put_wn().

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

Definition at line 1441 of file wn_core.h.

#define WN_PARM_COPY_IN_MAKE_DV   0x010000

Definition at line 1404 of file wn_core.h.

Referenced by ir_put_wn().

#define WN_Parm_Copy_In_Make_Dv (   x)    (WN_parm_flag(x) & WN_PARM_COPY_IN_MAKE_DV)

Definition at line 1445 of file wn_core.h.

#define WN_PARM_DUMMY   0x08

Definition at line 1382 of file wn_core.h.

Referenced by ir_put_wn().

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

Definition at line 1420 of file wn_core.h.

Referenced by WN_num_actuals().

#define WN_parm_flag (   x)    WN_call_flag(x)

Definition at line 972 of file wn_core.h.

Referenced by whirl2sexp::xlate_PARM().

#define WN_PARM_IN   WN_PARM_BY_VALUE

Definition at line 1380 of file wn_core.h.

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

Definition at line 1416 of file wn_core.h.

Referenced by whirl2xaif::xlate_intent().

#define WN_PARM_IS_KILLED
Value:
0x80 /* the parameter is killed, for
pass by reference */

Definition at line 1390 of file wn_core.h.

Referenced by ir_put_wn().

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

Definition at line 1429 of file wn_core.h.

#define WN_PARM_MAKE_DV   0x8000

Definition at line 1403 of file wn_core.h.

Referenced by ir_put_wn().

#define WN_Parm_Make_Dv (   x)    (WN_parm_flag(x) & WN_PARM_MAKE_DV)

Definition at line 1443 of file wn_core.h.

#define WN_PARM_MAKE_NEW_DV   0x020000

Definition at line 1405 of file wn_core.h.

Referenced by ir_put_wn().

#define WN_Parm_Make_New_Dv (   x)    (WN_parm_flag(x) & WN_PARM_MAKE_NEW_DV)

Definition at line 1447 of file wn_core.h.

#define WN_PARM_NOT_EXPOSED_USE   0x40 /* there is no exposed use */

Definition at line 1389 of file wn_core.h.

Referenced by ir_put_wn().

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

Definition at line 1427 of file wn_core.h.

#define WN_PARM_OUT   0x04

Definition at line 1381 of file wn_core.h.

Referenced by ir_put_wn().

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

Definition at line 1418 of file wn_core.h.

Referenced by whirl2xaif::xlate_intent().

#define WN_PARM_PASS_ADDRESS   0x0100

Definition at line 1397 of file wn_core.h.

Referenced by ir_put_wn().

#define WN_Parm_Pass_Address (   x)    (WN_parm_flag(x) & WN_PARM_PASS_ADDRESS)

Definition at line 1431 of file wn_core.h.

#define WN_PARM_PASS_ADDRESS_FROM_DV   0x0200

Definition at line 1398 of file wn_core.h.

Referenced by ir_put_wn().

#define WN_Parm_Pass_Address_From_Dv (   x)    (WN_parm_flag(x) & WN_PARM_PASS_ADDRESS_FROM_DV)

Definition at line 1433 of file wn_core.h.

#define WN_PARM_PASS_DV   0x0400

Definition at line 1399 of file wn_core.h.

Referenced by ir_put_wn().

#define WN_Parm_Pass_Dv (   x)    (WN_parm_flag(x) & WN_PARM_PASS_DV)

Definition at line 1435 of file wn_core.h.

#define WN_PARM_PASS_DV_COPY   0x0800

Definition at line 1400 of file wn_core.h.

Referenced by ir_put_wn().

#define WN_Parm_Pass_Dv_Copy (   x)    (WN_parm_flag(x) & WN_PARM_PASS_DV_COPY)

Definition at line 1437 of file wn_core.h.

#define WN_PARM_PASS_SECTION_ADDRESS   0x040000

Definition at line 1406 of file wn_core.h.

Referenced by ir_put_wn().

#define WN_Parm_Pass_Section_Address (   x)    (WN_parm_flag(x) & WN_PARM_PASS_SECTION_ADDRESS)

Definition at line 1449 of file wn_core.h.

#define WN_PARM_PASSED_NOT_SAVED
Value:
0x20 /* parm is passed to callee,
however, the callee does not
save the address of the parm */

Definition at line 1386 of file wn_core.h.

Referenced by ir_put_wn().

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

Definition at line 1424 of file wn_core.h.

Referenced by Set_addr_saved_stmt().

#define WN_PARM_READ_ONLY
Value:
0x10 /* parm is only referenced, not
modified by the callee */

Definition at line 1384 of file wn_core.h.

Referenced by ir_put_wn().

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

Definition at line 1422 of file wn_core.h.

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

Definition at line 1620 of file wn_core.h.

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

Definition at line 1621 of file wn_core.h.

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

Definition at line 1616 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 1627 of file wn_core.h.

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

Definition at line 1628 of file wn_core.h.

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

Definition at line 1623 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 1625 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 1626 of file wn_core.h.

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

Definition at line 1624 of file wn_core.h.

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

Definition at line 1618 of file wn_core.h.

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

Definition at line 1619 of file wn_core.h.

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

Definition at line 1629 of file wn_core.h.

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

Definition at line 1617 of file wn_core.h.

#define WN_PRAGMA_COMPILER_GENERATED   0x01

Definition at line 980 of file wn_core.h.

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

Definition at line 983 of file wn_core.h.

Referenced by Rewrite_Pragmas_On_Structs().

#define WN_PRAGMA_OMP   0x02

Definition at line 981 of file wn_core.h.

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

Definition at line 985 of file wn_core.h.

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

Definition at line 1018 of file wn_core.h.

Referenced by WN_CreateRegion().

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

Definition at line 973 of file wn_core.h.

Referenced by IPO_CLONE::Clone_Tree().

#define WN_region_pragmas (   x)    WN_kid((x),1)
#define WN_Reset_Asm_Clobbers_Cc (   x)    (WN_asm_flag(x) &= ~WN_ASM_CLOBBERS_CC)

Definition at line 1547 of file wn_core.h.

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

Definition at line 1544 of file wn_core.h.

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

Definition at line 1541 of file wn_core.h.

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

Definition at line 1516 of file wn_core.h.

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

Definition at line 1519 of file wn_core.h.

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

Definition at line 1513 of file wn_core.h.

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

Definition at line 1523 of file wn_core.h.

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

Definition at line 1510 of file wn_core.h.

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

Definition at line 1489 of file wn_core.h.

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

Definition at line 1492 of file wn_core.h.

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

Definition at line 1495 of file wn_core.h.

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

Definition at line 1498 of file wn_core.h.

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

Definition at line 1501 of file wn_core.h.

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

Definition at line 1504 of file wn_core.h.

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

Definition at line 1507 of file wn_core.h.

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

Definition at line 1527 of file wn_core.h.

#define WN_Reset_Eq_Is_Logical (   x)    (WN_eq_logical_flag(x) &= WN_EQ_IS_LOGICAL)

Definition at line 1457 of file wn_core.h.

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

Definition at line 1298 of file wn_core.h.

Referenced by WN_CreateIf().

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

Definition at line 1303 of file wn_core.h.

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

Definition at line 1308 of file wn_core.h.

#define WN_Reset_Label_Is_Handler_Begin (   x)
Value:

Definition at line 1372 of file wn_core.h.

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

Definition at line 1324 of file wn_core.h.

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

Definition at line 1361 of file wn_core.h.

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

Definition at line 1365 of file wn_core.h.

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

Definition at line 1352 of file wn_core.h.

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

Definition at line 1339 of file wn_core.h.

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

Definition at line 1330 of file wn_core.h.

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

Definition at line 987 of file wn_core.h.

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

Definition at line 1081 of file wn_core.h.

Referenced by TY_Of_Parameter().

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

Definition at line 1546 of file wn_core.h.

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

Definition at line 1543 of file wn_core.h.

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

Definition at line 1540 of file wn_core.h.

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

Definition at line 1515 of file wn_core.h.

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

Definition at line 1518 of file wn_core.h.

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

Definition at line 1512 of file wn_core.h.

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

Definition at line 1521 of file wn_core.h.

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

Definition at line 1509 of file wn_core.h.

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

Definition at line 1488 of file wn_core.h.

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

Definition at line 1491 of file wn_core.h.

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

Definition at line 1494 of file wn_core.h.

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

Definition at line 1497 of file wn_core.h.

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

Definition at line 1500 of file wn_core.h.

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

Definition at line 1503 of file wn_core.h.

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

Definition at line 1506 of file wn_core.h.

Referenced by Set_Call_Side_Effects().

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

Definition at line 1526 of file wn_core.h.

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

Definition at line 1008 of file wn_core.h.

Referenced by WN_CreateDO().

#define WN_Set_Eq_Is_Logical (   x)    (WN_eq_logical_flag(x) |= WN_EQ_IS_LOGICAL)

Definition at line 1456 of file wn_core.h.

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

Definition at line 1297 of file wn_core.h.

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

Definition at line 1302 of file wn_core.h.

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

Definition at line 1375 of file wn_core.h.

Referenced by WN_CreateIo().

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

Definition at line 1307 of file wn_core.h.

#define WN_Set_Label_Is_Handler_Begin (   x)
Value:
(WN_label_flag(x) |= \
WN_LABEL_HANDLER_BEGIN)

Definition at line 1370 of file wn_core.h.

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

Definition at line 976 of file wn_core.h.

Referenced by WN_CreateLabel().

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

Definition at line 1029 of file wn_core.h.

Referenced by WN_CreateLoopInfo().

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

Definition at line 1323 of file wn_core.h.

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

Definition at line 1360 of file wn_core.h.

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

Definition at line 1364 of file wn_core.h.

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

Definition at line 1032 of file wn_core.h.

Referenced by WN_CreateLoopInfo().

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

Definition at line 1350 of file wn_core.h.

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

Definition at line 1337 of file wn_core.h.

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

Definition at line 1329 of file wn_core.h.

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

Definition at line 1411 of file wn_core.h.

Referenced by xaif2whirl::TranslateCFG().

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

Definition at line 1414 of file wn_core.h.

#define WN_Set_Parm_Check_Contig_Flag (   x)    (WN_parm_flag(x) |= WN_PARM_CHECK_CONTIG_FLAG)

Definition at line 1452 of file wn_core.h.

#define WN_Set_Parm_Copy_In (   x)    (WN_parm_flag(x) |= WN_PARM_COPY_IN)

Definition at line 1440 of file wn_core.h.

#define WN_Set_Parm_Copy_In_Copy_out (   x)    (WN_parm_flag(x) |= WN_PARM_COPY_IN_COPY_OUT)

Definition at line 1442 of file wn_core.h.

#define WN_Set_Parm_Copy_In_Make_Dv (   x)    (WN_parm_flag(x) |= WN_PARM_COPY_IN_MAKE_DV)

Definition at line 1446 of file wn_core.h.

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

Definition at line 1421 of file wn_core.h.

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

Definition at line 1417 of file wn_core.h.

Referenced by xaif2whirl::TranslateCFG().

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

Definition at line 1428 of file wn_core.h.

#define WN_Set_Parm_Make_Dv (   x)    (WN_parm_flag(x) |= WN_PARM_MAKE_DV)

Definition at line 1444 of file wn_core.h.

#define WN_Set_Parm_Make_New_Dv (   x)    (WN_parm_flag(x) |= WN_PARM_MAKE_NEW_DV)

Definition at line 1448 of file wn_core.h.

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

Definition at line 1426 of file wn_core.h.

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

Definition at line 1419 of file wn_core.h.

Referenced by xaif2whirl::TranslateCFG().

#define WN_Set_Parm_Pass_Address (   x)    (WN_parm_flag(x) |= WN_PARM_PASS_ADDRESS)

Definition at line 1432 of file wn_core.h.

#define WN_Set_Parm_Pass_Address_From_Dv (   x)    (WN_parm_flag(x) |= WN_PARM_PASS_ADDRESS_FROM_DV)

Definition at line 1434 of file wn_core.h.

#define WN_Set_Parm_Pass_Dv (   x)    (WN_parm_flag(x) |= WN_PARM_PASS_DV)

Definition at line 1436 of file wn_core.h.

#define WN_Set_Parm_Pass_Dv_Copy (   x)    (WN_parm_flag(x) |= WN_PARM_PASS_DV_COPY)

Definition at line 1438 of file wn_core.h.

#define WN_Set_Parm_Pass_Section_Address (   x)    (WN_parm_flag(x) |= WN_PARM_PASS_SECTION_ADDRESS)

Definition at line 1450 of file wn_core.h.

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

Definition at line 1425 of file wn_core.h.

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

Definition at line 1423 of file wn_core.h.

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

Definition at line 984 of file wn_core.h.

Referenced by Add_Pragma_To_MP_Regions(), and DRA_Insert_Pragmas().

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

Definition at line 986 of file wn_core.h.

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

Definition at line 1037 of file wn_core.h.

Referenced by Open64IRInterface::getUMultiCatchallLabel(), and WN_CreateSwitch().

#define WN_switch_table (   x)    WN_kid((x),1)
#define WN_switch_test (   x)    WN_kid((x),0)
#define WN_type (   x)    (ST_type(WN_st(x)))

Definition at line 1082 of file wn_core.h.

Referenced by TY_Of_Expr().

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

Typedef Documentation

typedef enum REGION_KIND REGION_KIND
typedef INT64 WN_ESIZE

Definition at line 383 of file wn_core.h.

typedef INT32 WN_MAP_ID

Definition at line 384 of file wn_core.h.

typedef INT32 WN_OFFSET

Definition at line 380 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 

Definition at line 386 of file wn_core.h.

Function Documentation

UINT32 WN_asm_flag ( const WN wn)
inline

Definition at line 699 of file wn_core.h.

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

Referenced by WN_flag().

UINT32& WN_asm_flag ( WN wn)
inline

Definition at line 700 of file wn_core.h.

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

char* WN_asm_input_constraint ( const WN wn)
inline

Definition at line 969 of file wn_core.h.

References ST_name(), and WN_st().

Referenced by ir_put_wn().

Here is the call graph for this function:

UINT32 WN_asm_num_clobbers ( const WN wn)
inline

Definition at line 781 of file wn_core.h.

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

UINT32& WN_asm_num_clobbers ( WN wn)
inline

Definition at line 782 of file wn_core.h.

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

UINT32 WN_asm_num_inputs ( const WN wn)
inline

Definition at line 777 of file wn_core.h.

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

UINT32& WN_asm_num_inputs ( WN wn)
inline

Definition at line 778 of file wn_core.h.

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

UINT32 WN_asm_opnd_num ( const WN wn)
inline

Definition at line 779 of file wn_core.h.

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

Referenced by ir_put_wn(), and WN_CreateAsm_Input().

UINT32& WN_asm_opnd_num ( WN wn)
inline

Definition at line 780 of file wn_core.h.

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

char* WN_asm_string ( const WN wn)
inline

Definition at line 968 of file wn_core.h.

References ST_name(), and WN_st().

Referenced by ir_put_wn().

Here is the call graph for this function:

UINT WN_bit_offset ( const WN wn)
inline

Definition at line 750 of file wn_core.h.

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

Referenced by POINTS_TO::Analyze_WN_expr(), and ir_put_wn().

UINT WN_bit_size ( const WN wn)
inline

Definition at line 751 of file wn_core.h.

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

Referenced by Actual_data_size(), POINTS_TO::Analyze_WN_expr(), and ir_put_wn().

UINT32 WN_call_flag ( const WN wn)
inline

Definition at line 689 of file wn_core.h.

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

Referenced by ir_put_wn(), WN_flag(), WN_set_flag(), sexp2whirl::xlate_xCALL(), and whirl2sexp::xlate_xCALL().

UINT32& WN_call_flag ( WN wn)
inline

Definition at line 690 of file wn_core.h.

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

INT64& WN_const_val ( WN wn)
inline

Definition at line 770 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 798 of file wn_core.h.

References WN::u1u2.

Referenced by IPO_CLONE::Copy_Node(), and WN_CopyNode().

void WN_Copy_u3 ( WN dst,
const WN src 
)
inline

Definition at line 799 of file wn_core.h.

References WN::u3.

Referenced by IPO_CLONE::Copy_Node(), and WN_CopyNode().

INT16& WN_cvtl_bits ( WN wn)
inline

Definition at line 686 of file wn_core.h.

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

WN_ESIZE& WN_element_size ( WN wn)
inline

Definition at line 740 of file wn_core.h.

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

UINT32 WN_eq_logical_flag ( const WN wn)
inline

Definition at line 692 of file wn_core.h.

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

Referenced by WN_flag(), and WN_set_flag().

UINT32& WN_eq_logical_flag ( WN wn)
inline

Definition at line 693 of file wn_core.h.

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

INITO_IDX& WN_ereg_supp ( WN wn)
inline

Definition at line 738 of file wn_core.h.

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

WN* WN_first ( const WN wn)
inline

Definition at line 773 of file wn_core.h.

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

Referenced by PROMPF_LINES::Add_Lines(), Add_Pragma_To_MP_Regions(), WB_BROWSER::Address_Walk(), WB_BROWSER::Alias_Walk(), Allocate_All_Formals(), Calc_Formal_Area(), PROMPF_INFO::Check_Traverse(), IPO_CLONE::Clone_Tree(), Collect_Goodies(), WN_TREE_ITER< PRE_ORDER, WHIRL >::Delete(), DRA_Collect_Commons(), DRA_EC_Array_Portion_Parms(), DRA_Read_Pragmas_In_Block(), draw_stmt(), F90_Size_Walk(), Find_Alloca(), Find_Insertion_Point(), WB_BROWSER::Find_Operator_Walk(), WB_BROWSER::Find_Walk(), fortTkSupport::FindParentWNBlock(), whirl2xaif::findRequiredProgramSymbols(), fix_tree(), fortTkSupport::ForAllScalarizableRefs(), Open64IRInterface::getDepMemRefExprIter(), Open64IRInterface::getFirstInCompound(), Open64IRInterface::getIndepMemRefExprIter(), Open64IRInterface::getUMultiCondition(), Open64IRInterface::getUMultiTargetLabel(), InlineTest(), WN_TREE_ITER< PRE_ORDER, WHIRL >::Insert(), Insert_Call(), IPA_WN_DELETE_Tree(), ir_b_write_tree(), ir_put_stmt(), Is_Grandparent_Region(), WB_BROWSER::Loops_Walk(), Max_Arg_Area_Bytes(), MemCtr_Add_Local(), Node_Count(), fortTkSupport::WhirlParentMap::Parentize(), Parentize(), PleaseGetMeSomething(), Process_Fill_Align_Pragmas_Recursive(), Prompf_Assign_Ids_Traverse(), Prompf_Id_Type(), PROMPF_INFO::Prompf_Info_Traverse(), WN_Verifier::Proper_Block_Structure(), WN_TREE_ITER_base< WN * >::Push(), Recompute_addr_saved_stmt(), RecursiveFnWN(), WB_BROWSER::Reduction_Walk(), References_Some_Label(), WN_TREE_ITER_base< WN * >::Replace(), Rewrite_Pragmas_On_Structs(), Rewrite_Structs_In_MPRegion(), Set_addr_saved_stmt(), WB_BROWSER::Statements(), xaif2whirl::TranslateCFG(), Tree_Equiv(), Update_EHRegion_Inito_Used(), Verify_addr_flags_stmt(), WB_Parent_Search(), WN_TREE_ITER< POST_ORDER, WHIRL >::Wind(), WN_block_element(), WN_COPY_Tree(), WN_COPY_Tree_With_Map(), WN_CreateBlock(), WN_DELETE_FromBlock(), WN_DELETE_Tree(), WN_EXTRACT_FromBlock(), WN_EXTRACT_ItemsFromBlock(), WN_INSERT_BlockAfter(), WN_INSERT_BlockBefore(), WN_Simplify_Tree(), WN_Verifier::WN_traverse_tree(), WN_TREE_ITER< PRE_ORDER, WHIRL >::WN_TREE_next(), WN_TREE_put_stmt(), whirl2sexp::xlate_BLOCK(), and xaif2whirl::XlateStmt::xlate_DerivativePropagator().

WN*& WN_first ( WN wn)
inline

Definition at line 774 of file wn_core.h.

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

WN_OFFSET WN_idname_offset ( const WN wn)
inline
WN_OFFSET& WN_idname_offset ( WN wn)
inline

Definition at line 680 of file wn_core.h.

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

UINT32 WN_if_flag ( const WN wn)
inline

Definition at line 695 of file wn_core.h.

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

Referenced by WN_flag(), WN_set_flag(), sexp2whirl::xlate_structured_cf(), and whirl2sexp::xlate_structured_cf().

UINT32& WN_if_flag ( WN wn)
inline

Definition at line 696 of file wn_core.h.

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

INTRINSIC& WN_intrinsic ( WN wn)
inline

Definition at line 726 of file wn_core.h.

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

UINT32 WN_io_flag ( const WN wn)
inline

Definition at line 697 of file wn_core.h.

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

Referenced by WN_flag(), WN_set_flag(), sexp2whirl::xlate_IO(), and whirl2sexp::xlate_IO().

UINT32& WN_io_flag ( WN wn)
inline

Definition at line 698 of file wn_core.h.

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

IOITEM& WN_io_item ( WN wn)
inline

Definition at line 730 of file wn_core.h.

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

IOSTATEMENT WN_io_statement ( const WN wn)
inline
IOSTATEMENT& WN_io_statement ( WN wn)
inline

Definition at line 728 of file wn_core.h.

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

BOOL WN_Is_Volatile_Mem ( const WN wn)
inline
WN* WN_kid ( const WN wn,
const int  i 
)
inline

Definition at line 758 of file wn_core.h.

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

Referenced by PROMPF_LINES::Add_Lines(), WB_BROWSER::Address_Walk(), WB_BROWSER::Alias_Walk(), Open64IRCallsiteIterator::build_func_call_list(), WN_Verifier::Call_children_are_PARM(), PROMPF_INFO::Check_Traverse(), cleanUpPUInfo(), IPO_CLONE::Clone_Tree(), Collect_Goodies(), Count_WN_Node(), Open64IRInterface::createExprTree(), DRA_Collect_Commons(), DRA_EC_Array_Portion_Parms(), DRA_Insert_Pragmas(), DRA_Mangle_Call_Site(), DRA_New_Clone_Sig(), DRA_Preprocess_Call_Site(), draw_expr(), draw_stmt(), Open64IRInterface::DumpWN(), F90_Size_Walk(), F90_Wrap_ARREXP(), Find_addr_recur(), Find_Insertion_Point(), WB_BROWSER::Find_Operator_Walk(), WB_BROWSER::Find_Walk(), Open64IRInterface::findAllMemRefsAndMapToMemRefExprs(), fortTkSupport::FindParentWNBlock(), AdjustInterfaces::findPUSymbolType(), whirl2xaif::findRequiredProgramSymbols(), whirl2xaif::findVarSymbolsInTree(), fix_tree(), fortTkSupport::ForAllScalarizableRefs(), CleanUpWhirl::forPUInfo(), AdjustInterfaces::forPUInfo(), InterfaceData::forPUInfo(), Gen_Call_Array(), Open64IRInterface::getFormalForActual(), xaif2whirl::XlateExpression::hasActiveSymbolType(), whirl2xaif::hasUnstructuredCF(), InlineTest(), IPA_WN_DELETE_Tree(), ir_b_write_tree(), ir_put_expr(), ir_put_stmt(), Is_Exp_Linexable(), Is_nested_call(), WB_BROWSER::Kids(), WB_BROWSER::Loops_Walk(), Max_Arg_Area_Bytes(), New_DRA(), Node_Count(), Open64IRCallsiteParamIterator::Open64IRCallsiteParamIterator(), fortTkSupport::WhirlParentMap::Parentize(), Parentize(), xaif2whirl::XlateStmt::patchWN_IO_cray(), xaif2whirl::XlateStmt::patchWN_IO_ITEM_list(), xaif2whirl::XlateExpression::patchWNExpr(), Process_Fill_Align_Pragmas_Recursive(), Prompf_Assign_Ids_Traverse(), PROMPF_INFO::Prompf_Info_Traverse(), Recompute_addr_saved_stmt(), RecursiveFnWN(), WB_BROWSER::Reduction_Walk(), References_Some_Label(), WN_TREE_ITER_base< WN * >::Replace(), Rewrite_Pragmas_On_Structs(), Rewrite_Structs_In_MPRegion(), Set_addr_saved_expr(), Set_addr_saved_stmt(), whirl2sexp::TranslateWNChildren(), Tree_Equiv(), WN_TREE_ITER< PRE_ORDER, WHIRL >::Unwind(), Update_EHRegion_Inito_Used(), Verify_addr_flags_stmt(), Verify_addr_saved_expr(), WB_Parent_Search(), whirl2xaif::WN2F_ar_construct(), whirl2xaif::WN2F_bnor(), whirl2xaif::WN2F_dealloca(), whirl2xaif::WN2F_implied_do(), whirl2xaif::WN2F_interface_blk(), WN2F_Intr_Funcall(), WN2F_ios_cr(), WN2F_ios_decode(), WN2F_ios_definefile(), WN2F_ios_encode(), WN2F_ios_print(), WN2F_ios_read(), WN2F_ios_rewrite(), WN2F_ios_write(), whirl2xaif::WN2F_lshr(), whirl2xaif::WN2F_madd(), whirl2xaif::WN2F_msub(), whirl2xaif::WN2F_namelist_stmt(), whirl2xaif::WN2F_nmadd(), whirl2xaif::WN2F_nmsub(), whirl2xaif::WN2F_noio_implied_do(), whirl2xaif::WN2F_nullify_stmt(), whirl2xaif::WN2F_rsqrt(), WN_COPY_Tree(), WN_COPY_Tree_With_Map(), WN_Create_Intrinsic(), WN_CreateAssert(), WN_CreateCompgoto(), WN_CreateExp3(), WN_CreateIoItem3(), WN_CreateIstorex(), WN_CreateMstore(), WN_CreateXgoto(), WN_DELETE_Tree(), WN_Expr_Can_Be_Speculative(), WN_has_side_effects(), WN_num_actuals(), WN_SimpCreateExp3(), WN_Simplify_Rebuild_Expr_Tree(), WN_Simplify_Tree(), WN_Symbol_Count(), WN_Verifier::WN_traverse_tree(), WN_TREE_ITER< PRE_ORDER, WHIRL >::WN_TREE_next(), WN_TREE_ITER< POST_ORDER, WHIRL >::WN_TREE_next(), WN_TREE_put_stmt(), WN_WALK_SCFNext(), WN_WALK_StmtNext(), WN_WALK_TreeNext(), xaif2whirl::XlateExpression::xlate_ArrayElementReference(), sexp2whirl::xlate_ARRAYx(), whirl2xaif::xlate_CALL(), sexp2whirl::xlate_FUNC_ENTRY(), sexp2whirl::xlate_INTERFACE(), whirl2xaif::xlate_INTRINSIC_CALL(), whirl2xaif::xlate_IO(), sexp2whirl::xlate_IO(), sexp2whirl::xlate_IO_ITEM(), xlate_IO_ITEM_format(), xlate_IO_ITEM_list(), xlate_IOControlList(), xlate_IOList(), sexp2whirl::xlate_misc_stmt(), sexp2whirl::xlate_multiBR(), whirl2xaif::xlate_PassiveStmt(), sexp2whirl::xlate_STRCTFLD(), sexp2whirl::xlate_structured_cf(), sexp2whirl::xlate_xCALL(), and sexp2whirl::xlate_xLOADx_xSTOREx().

WN*& WN_kid ( WN wn,
const int  i 
)
inline

Definition at line 759 of file wn_core.h.

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

WN* WN_kid0 ( const WN wn)
inline

Definition at line 760 of file wn_core.h.

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

Referenced by Actual_data_size(), POINTS_TO::Analyze_WN_expr(), Array_Element_Then_Struct(), cleanUpPUInfo(), Collect_Goodies(), xaif2whirl::ConvertScalarizedRefToActiveType(), Count_WN_Node(), Open64IRInterface::createExprTree(), WB_BROWSER::Dep_Symbol(), Open64IRInterface::DumpWN(), Exp_To_Linex_Array(), F90_Get_Dim(), F90_Size_Walk(), F90_Wrap_ARREXP(), Fill_Align_Symbol(), Find_addr_recur(), Find_Address_Base(), Find_Insertion_Point(), Find_Reduction_Symbol(), Open64IRInterface::findAllMemRefsAndMapToMemRefExprs(), Open64IRInterface::findBaseSymbol(), Open64IRInterface::findTopMemRefHandle(), fortTkSupport::ForAllScalarizableRefs(), AdjustInterfaces::forPUInfo(), xaif2whirl::AdjustFunctions::forSubTree(), Gen_Free_Cart(), Gen_Malloc_Cart(), Open64IRInterface::getCondition(), InlineTest(), Insert_Alloca(), Is_Constant_Tree(), Is_Exp_Linexable(), Is_nested_call(), IsNonScalarRef(), fortTkSupport::ScalarizedRef::isRefScalarizable(), Machine_Type(), MemCtr_Add_Common(), MemCtr_Add_Global(), MemCtr_Add_Local(), WN_TREE_ITER_base< WN * >::Push(), Recompute_addr_saved_stmt(), Rewrite_Pragmas_On_Structs(), Rewrite_Structs_In_MPRegion(), Set_addr_saved_stmt(), Strip_TAS(), TAS_To_TOP(), True_Bound(), Verify_addr_flags_stmt(), Weird_Array_Element(), WN_TREE_ITER< POST_ORDER, WHIRL >::Wind(), whirl2xaif::WN2F_agoto(), whirl2xaif::WN2F_alloca(), whirl2xaif::WN2F_arrayexp(), whirl2xaif::WN2F_arrsection(), whirl2xaif::WN2F_Arrsection_Slots(), whirl2xaif::WN2F_cvt(), whirl2xaif::WN2F_cvtl(), whirl2xaif::WN2F_eval(), whirl2xaif::LOC_INFO::WN2F_Find_And_Mark_Nested_Address(), whirl2xaif::WN2F_Find_Base(), whirl2xaif::WN2F_Get_Substring_Info(), whirl2xaif::WN2F_imagpart(), WN2F_ios_accept(), WN2F_ios_backspace(), WN2F_ios_decode(), WN2F_ios_definefile(), WN2F_ios_encode(), WN2F_ios_endfile(), WN2F_ios_print(), WN2F_ios_read(), WN2F_ios_type(), WN2F_ios_unlock(), whirl2xaif::WN2F_mload(), whirl2xaif::WN2F_mstore(), whirl2xaif::WN2F_noio_implied_do(), whirl2xaif::WN2F_parm(), whirl2xaif::WN2F_pstid(), whirl2xaif::WN2F_pstore(), whirl2xaif::WN2F_realpart(), whirl2xaif::WN2F_select(), whirl2xaif::WN2F_src_triplet(), whirl2xaif::WN2F_String_Argument(), whirl2xaif::WN2F_Sum_Offsets(), whirl2xaif::WN2F_tas(), whirl2xaif::WN2F_triplet(), whirl2xaif::WN2F_where(), WN_Call_Return_Type(), WN_Convert_Shared_To_Local(), WN_Create_PtrEq_Test(), WN_Create_Shared_Load(), WN_Create_Shared_Ptr_Arithmetic(), WN_Create_Shared_Ptr_Diff(), WN_Create_Shared_Store(), WN_Create_StoP_Cvt(), WN_CreateAffirm(), WN_CreateAgoto(), WN_CreateAlloca(), WN_CreateAsm_Input(), WN_CreateComma(), WN_CreateCompgoto(), WN_CreateEval(), WN_CreateExp1(), WN_CreateExp2(), WN_CreateExp3(), WN_CreateFalsebr(), WN_CreateIoItem1(), WN_CreateIoItem2(), WN_CreateIoItem3(), WN_CreateIstore(), WN_CreateIstorex(), WN_CreateMstore(), WN_CreatePrefetch(), WN_CreatePrefetchx(), WN_CreatePStid(), WN_CreatePstore(), WN_CreateRcomma(), WN_CreateReturn_Val(), WN_CreateStid(), WN_CreateTruebr(), WN_CreateXgoto(), WN_Get_PtrAdd_Intconst(), WN_get_tld_type(), WN_GetBaseObjType(), WN_GetExprType(), WN_has_side_effects(), WN_intrinsic_return_ty(), WN_LOOP_Increment(), WN_LOOP_LowerBound(), WN_LOOP_UpperBound(), WN_set_st_addr_saved(), WN_SetNull_Sptr(), WN_SimpCreateCvtl(), WN_SimpCreateDeposit(), WN_SimpCreateExp1(), WN_SimpCreateExp2(), WN_SimpCreateExp3(), WN_SimpCreateExtract(), WN_Simplify_Rebuild_Expr_Tree(), WN_Simplify_Tree(), WN_Solve_For(), WN_Tree_Type(), WN_Upper_Bound_Standardize(), whirl2xaif::xlate_ARRAY(), xaif2whirl::XlateExpression::xlate_ArrayElementReference(), whirl2xaif::xlate_ArrayIndices(), whirl2xaif::xlate_BinaryOp(), sexp2whirl::xlate_BinaryOp(), whirl2xaif::xlate_CALL(), whirl2sexp::xlate_condBR(), sexp2whirl::xlate_condBR(), sexp2whirl::xlate_CVT_CVTL(), whirl2sexp::xlate_CVT_CVTL(), whirl2sexp::xlate_GOTOx_LABEL(), whirl2xaif::xlate_ILOAD(), whirl2xaif::xlate_INTRINSIC_OP(), xlate_IO_ITEM_control(), xlate_IO_ITEM_format(), xlate_IO_ITEM_list(), xlate_IO_ITEM_unit(), whirl2xaif::xlate_ISTORE(), whirl2sexp::xlate_LDID_STID(), whirl2xaif::xlate_MemRef(), whirl2xaif::xlate_PAREN(), whirl2sexp::xlate_PARM(), whirl2xaif::xlate_RECIP(), whirl2sexp::xlate_RETURNx(), whirl2xaif::xlate_ScalarizedRefTab(), whirl2xaif::xlate_STID(), whirl2sexp::xlate_TAS(), sexp2whirl::xlate_TernaryOp(), whirl2xaif::xlate_UnaryOp(), sexp2whirl::xlate_UnaryOp(), whirl2sexp::xlate_UnaryOp(), sexp2whirl::xlate_xPRAGMA(), and whirl2sexp::xlate_xPRAGMA().

WN*& WN_kid0 ( WN wn)
inline

Definition at line 761 of file wn_core.h.

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

WN* WN_kid1 ( const WN wn)
inline

Definition at line 762 of file wn_core.h.

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

Referenced by Actual_data_size(), POINTS_TO::Analyze_WN_expr(), Collect_Goodies(), xaif2whirl::ConvertScalarizedRefToActiveType(), WB_BROWSER::Dep_Symbol(), Open64IRInterface::dump(), Open64IRInterface::DumpWN(), Open64IRInterface::DumpWNMemRef(), Exp_To_Linex_Array(), F90_Size_Walk(), WN_Verifier::Field_id_valid(), Find_Address_Base(), Open64IRInterface::findAllMemRefsAndMapToMemRefExprs(), Open64IRInterface::findTopMemRefHandle(), Open64IRInterface::getUMultiCondition(), Open64IRInterface::getUMultiTargetLabel(), Is_Constant_Tree(), Is_Exp_Linexable(), MemCtr_Add_Common(), MemCtr_Add_Global(), MemCtr_Add_Local(), Rewrite_Structs_In_MPRegion(), Spill_Shared_Load(), Whirl2Src_Translate_Istore_Str(), whirl2xaif::LOC_INFO::WN2F_Find_And_Mark_Nested_Address(), whirl2xaif::WN2F_Find_Base(), whirl2xaif::WN2F_Get_Substring_Info(), WN2F_ios_decode(), WN2F_ios_encode(), WN2F_ios_namelist(), WN2F_ios_read(), whirl2xaif::WN2F_mstore(), whirl2xaif::WN2F_noio_implied_do(), whirl2xaif::WN2F_pstore(), whirl2xaif::WN2F_select(), whirl2xaif::WN2F_src_triplet(), whirl2xaif::WN2F_String_Argument(), whirl2xaif::WN2F_Sum_Offsets(), whirl2xaif::WN2F_triplet(), whirl2xaif::WN2F_where(), WN_Can_Be_Speculative(), WN_Convert_Shared_To_Local(), WN_Create_PtrEq_Test(), WN_Create_Shared_Load(), WN_Create_Shared_Ptr_Arithmetic(), WN_Create_Shared_Ptr_Diff(), WN_Create_Shared_Store(), WN_CreateComma(), WN_CreateExp2(), WN_CreateExp3(), WN_CreateIoItem2(), WN_CreateIoItem3(), WN_CreateIstore(), WN_CreateIstorex(), WN_CreateMstore(), WN_CreatePrefetchx(), WN_CreatePStid(), WN_CreatePstore(), WN_CreateRcomma(), WN_CreateStid(), WN_Get_PtrAdd_Intconst(), WN_GetBaseObjType(), WN_GetExprType(), WN_has_side_effects(), WN_LOOP_Increment(), WN_LOOP_UpperBound(), WN_object_size(), WN_set_st_addr_saved(), WN_SetNull_Sptr(), WN_SimpCreateDeposit(), WN_SimpCreateExp2(), WN_SimpCreateExp3(), WN_Simplify_Rebuild_Expr_Tree(), WN_Simplify_Tree(), WN_Solve_For(), WN_Tree_Type(), WN_Upper_Bound_Standardize(), whirl2xaif::xlate_BinaryOp(), sexp2whirl::xlate_BinaryOp(), xlate_IO_ITEM_control(), xlate_IO_ITEM_format(), xlate_IO_ITEM_list(), whirl2xaif::xlate_ISTORE(), xaif2whirl::XlateExpression::xlate_SymbolReferenceCollapsedPath(), and sexp2whirl::xlate_TernaryOp().

WN*& WN_kid1 ( WN wn)
inline

Definition at line 763 of file wn_core.h.

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

WN*& WN_kid2 ( WN wn)
inline

Definition at line 765 of file wn_core.h.

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

WN*& WN_kid3 ( WN wn)
inline

Definition at line 767 of file wn_core.h.

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

INT WN_kid_count ( const WN wn)
inline

Definition at line 746 of file wn_core.h.

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

Referenced by PROMPF_LINES::Add_Lines(), WB_BROWSER::Address_Walk(), WB_BROWSER::Alias_Walk(), Allocate_All_Formals(), Open64IRCallsiteIterator::build_func_call_list(), Calc_Formal_Area(), WN_Verifier::Call_children_are_PARM(), PROMPF_INFO::Check_Traverse(), IPO_CLONE::Clone_Tree(), Collect_Goodies(), IPO_CLONE::Copy_Node(), Count_WN_Node(), Open64IRInterface::createExprTree(), DRA_Collect_Commons(), DRA_EC_Array_Portion_Parms(), DRA_Mangle_All(), draw_expr(), draw_stmt(), Open64IRInterface::dump(), Open64IRInterface::DumpWN(), Open64IRInterface::DumpWNMemRef(), F90_Size_Walk(), Find_addr_recur(), WB_BROWSER::Find_Operator_Walk(), WB_BROWSER::Find_Walk(), Open64IRInterface::findAllMemRefsAndMapToMemRefExprs(), Open64IRInterface::findBaseSymbol(), fortTkSupport::FindParentWNBlock(), whirl2xaif::findRequiredProgramSymbols(), whirl2xaif::findVarSymbolsInTree(), fix_tree(), fortTkSupport::ForAllScalarizableRefs(), CleanUpWhirl::forPUInfo(), AdjustInterfaces::forPUInfo(), InterfaceData::forPUInfo(), Open64IRInterface::getFormalForActual(), xaif2whirl::XlateExpression::hasActiveSymbolType(), whirl2xaif::hasUnstructuredCF(), InlineTest(), IPA_WN_DELETE_Tree(), ir_b_write_tree(), ir_put_expr(), ir_put_stmt(), ir_put_wn(), Is_Exp_Linexable(), Is_nested_call(), WB_BROWSER::Kids(), WB_BROWSER::Loops_Walk(), Max_Arg_Area_Bytes(), Node_Count(), fortTkSupport::WhirlParentMap::Parentize(), Parentize(), xaif2whirl::XlateStmt::patchWN_IO_cray(), xaif2whirl::XlateStmt::patchWN_IO_ITEM_list(), xaif2whirl::XlateExpression::patchWNExpr(), Process_Fill_Align_Pragmas_Recursive(), Prompf_Assign_Ids_Traverse(), PROMPF_INFO::Prompf_Info_Traverse(), Recompute_addr_saved_stmt(), RecursiveFnWN(), WB_BROWSER::Reduction_Walk(), References_Some_Label(), Rewrite_Pragmas_On_Structs(), Rewrite_Structs_In_MPRegion(), Set_addr_saved_expr(), Set_addr_saved_stmt(), whirl2sexp::TranslateWNChildren(), Tree_Equiv(), WN_TREE_ITER< PRE_ORDER, WHIRL >::Unwind(), Update_EHRegion_Inito_Used(), Verify_addr_flags_stmt(), Verify_addr_saved_expr(), WB_Parent_Search(), WN_TREE_ITER< POST_ORDER, WHIRL >::Wind(), whirl2xaif::WN2F_ar_construct(), whirl2xaif::WN2F_dealloca(), whirl2xaif::WN2F_implied_do(), whirl2xaif::WN2F_interface_blk(), WN2F_ios_accept(), WN2F_ios_backspace(), WN2F_ios_close(), WN2F_ios_cr(), WN2F_ios_decode(), WN2F_ios_definefile(), WN2F_ios_delete(), WN2F_ios_encode(), WN2F_ios_endfile(), WN2F_ios_find(), WN2F_ios_inquire(), WN2F_ios_namelist(), WN2F_ios_print(), WN2F_ios_read(), WN2F_ios_rewrite(), WN2F_ios_type(), WN2F_ios_unlock(), WN2F_ios_write(), whirl2xaif::WN2F_namelist_stmt(), whirl2xaif::WN2F_nullify_stmt(), WN_Call_Last_Arg_Idx(), WN_Call_Return_Type(), WN_COPY_Tree(), WN_COPY_Tree_With_Map(), WN_CopyNode(), WN_DELETE_Tree(), WN_Equiv(), WN_Expr_Can_Be_Speculative(), WN_has_side_effects(), WN_num_actuals(), WN_Simplify_Rebuild_Expr_Tree(), WN_Simplify_Tree(), WN_Size(), WN_Size_and_StartAddress(), WN_Solve_For(), WN_Symbol_Count(), WN_Verifier::WN_traverse_tree(), WN_TREE_ITER< PRE_ORDER, WHIRL >::WN_TREE_next(), WN_TREE_ITER< POST_ORDER, WHIRL >::WN_TREE_next(), WN_TREE_put_stmt(), WN_WALK_SCFNext(), WN_WALK_StmtNext(), WN_WALK_TreeNext(), whirl2xaif::xlate_BinaryOp(), whirl2sexp::xlate_BinaryOp(), whirl2xaif::xlate_CALL(), whirl2xaif::xlate_EntryPoint(), whirl2sexp::xlate_FUNC_ENTRY(), whirl2xaif::xlate_INTRINSIC_CALL(), whirl2xaif::xlate_INTRINSIC_OP(), whirl2xaif::xlate_IO(), whirl2sexp::xlate_IO_ITEM(), xlate_IO_ITEM_control(), xlate_IO_ITEM_format(), xlate_IO_ITEM_list(), xlate_IOList(), whirl2sexp::xlate_misc_stmt(), whirl2xaif::xlate_PassiveStmt(), whirl2sexp::xlate_STRCTFLD(), whirl2sexp::xlate_TernaryOp(), whirl2xaif::xlate_UnaryOp(), whirl2sexp::xlate_UnaryOp(), and whirl2sexp::xlate_xCALL().

Here is the call graph for this function:

UINT32 WN_label_flag ( const WN wn)
inline

Definition at line 771 of file wn_core.h.

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

Referenced by WN_CreateLabel(), WN_flag(), WN_set_flag(), and whirl2sexp::xlate_GOTOx_LABEL().

UINT32& WN_label_flag ( WN wn)
inline

Definition at line 772 of file wn_core.h.

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

UINT32 WN_label_level ( const WN wn)
inline

Definition at line 701 of file wn_core.h.

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

Referenced by WN_CreateGotoOuterBlock(), and whirl2sexp::xlate_GOTOx_LABEL().

UINT32& WN_label_level ( WN wn)
inline

Definition at line 702 of file wn_core.h.

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

INT32& WN_label_number ( WN wn)
inline

Definition at line 688 of file wn_core.h.

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

WN*& WN_last ( WN wn)
inline

Definition at line 776 of file wn_core.h.

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

INT32& WN_last_label ( WN wn)
inline

Definition at line 736 of file wn_core.h.

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

WN_OFFSET WN_lda_offset ( const WN wn)
inline
WN_OFFSET& WN_lda_offset ( WN wn)
inline

Definition at line 676 of file wn_core.h.

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

mUINT64& WN_linenum ( WN wn)
inline

Definition at line 937 of file wn_core.h.

References WN_CAST_WN_TO_STMT_WN.

WN_OFFSET& WN_load_offset ( WN wn)
inline

Definition at line 674 of file wn_core.h.

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

mUINT16 WN_loop_depth ( const WN wn)
inline

Definition at line 705 of file wn_core.h.

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

Referenced by ir_put_wn(), and WN_CreateLoopInfo().

mUINT16& WN_loop_depth ( WN wn)
inline

Definition at line 706 of file wn_core.h.

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

UINT32 WN_loop_flag ( const WN wn)
inline

Definition at line 733 of file wn_core.h.

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

Referenced by WN_CreateLoopInfo(), WN_flag(), and WN_set_flag().

UINT32& WN_loop_flag ( WN wn)
inline

Definition at line 734 of file wn_core.h.

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

mUINT16 WN_loop_trip_est ( const WN wn)
inline

Definition at line 703 of file wn_core.h.

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

Referenced by ir_put_wn(), and WN_CreateLoopInfo().

mUINT16& WN_loop_trip_est ( WN wn)
inline

Definition at line 704 of file wn_core.h.

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

INT32& WN_map_id ( WN wn)
inline

Definition at line 756 of file wn_core.h.

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

WN* WN_next ( const WN wn)
inline

Definition at line 934 of file wn_core.h.

References WN_CAST_WN_TO_STMT_WN.

Referenced by PROMPF_LINES::Add_Lines(), Add_Pragma_To_MP_Regions(), fortTkSupport::AddControlFlowEndTags(), WB_BROWSER::Address_Walk(), WB_BROWSER::Alias_Walk(), Allocate_All_Formals(), Calc_Formal_Area(), PROMPF_INFO::Check_Traverse(), IPO_CLONE::Clone_Tree(), Collect_Goodies(), WN_TREE_ITER< PRE_ORDER, WHIRL >::Delete(), Delete_Dist_Reshape_Pragmas(), DRA_Collect_Commons(), DRA_EC_Array_Portion_Parms(), DRA_Read_Pragmas_In_Block(), draw_stmt(), F90_Size_Walk(), Fill_Align_Symbol(), Find_Alloca(), Find_Insertion_Point(), WB_BROWSER::Find_Operator_Walk(), WB_BROWSER::Find_Walk(), xaif2whirl::FindIntervalBoundary(), fortTkSupport::FindParentWNBlock(), whirl2xaif::findRequiredProgramSymbols(), fix_tree(), fortTkSupport::ForAllScalarizableRefs(), Get_Preamble_End(), Open64IRInterface::getDepMemRefExprIter(), Open64IRInterface::getIndepMemRefExprIter(), Open64IRInterface::getUMultiCondition(), Open64IRInterface::getUMultiTargetLabel(), InlineTest(), WN_TREE_ITER< PRE_ORDER, WHIRL >::Insert(), Insert_Call(), IPA_WN_DELETE_Tree(), ir_b_write_tree(), ir_put_stmt(), Is_Grandparent_Region(), WB_BROWSER::Loops_Walk(), Max_Arg_Area_Bytes(), MemCtr_Add_Local(), New_DRA(), WB_BROWSER::Next(), Node_Count(), Open64IRRegionStmtIterator::operator++(), fortTkSupport::WhirlParentMap::Parentize(), Parentize(), Process_Fill_Align_Pragmas_Recursive(), Prompf_Assign_Ids_Traverse(), PROMPF_INFO::Prompf_Info_Traverse(), WN_Verifier::Proper_Block_Structure(), Recompute_addr_saved_stmt(), RecursiveFnWN(), WB_BROWSER::Reduction_Walk(), References_Some_Label(), WN_TREE_ITER_base< WN * >::Replace(), Rewrite_Pragmas_On_Structs(), Rewrite_Structs_In_MPRegion(), Set_addr_saved_stmt(), WB_BROWSER::Statements(), WN_Verifier::STID_check_st_class(), xaif2whirl::TranslateCFG(), Tree_Equiv(), WN_TREE_ITER< PRE_ORDER, WHIRL >::Unwind(), Update_EHRegion_Inito_Used(), Verify_addr_flags_stmt(), WB_Parent_Search(), WN_block_element(), WN_COPY_Tree(), WN_COPY_Tree_With_Map(), WN_Create_Generic(), WN_DELETE_FromBlock(), WN_DELETE_Tree(), WN_EXTRACT_FromBlock(), WN_EXTRACT_ItemsFromBlock(), WN_get_tree(), WN_INSERT_BlockAfter(), WN_INSERT_BlockBefore(), WN_Simplify_Tree(), WN_Verifier::WN_traverse_tree(), WN_TREE_ITER< POST_ORDER, WHIRL >::WN_TREE_next(), xaif2whirl::xlate_BasicBlock_OLD(), whirl2sexp::xlate_BLOCK(), and whirl2xaif::xlate_PassiveStmt().

WN*& WN_next ( WN wn)
inline

Definition at line 935 of file wn_core.h.

References WN_CAST_WN_TO_STMT_WN.

mINT16 WN_num_actuals ( const WN wn)
inline
INT32& WN_num_entries ( WN wn)
inline

Definition at line 684 of file wn_core.h.

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

WN_OFFSET& WN_offset ( WN wn)
inline

Definition at line 682 of file wn_core.h.

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

OPCODE WN_opcode ( const WN wn)
inline

Definition at line 888 of file wn_core.h.

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

Referenced by Actual_result_type(), PROMPF_LINES::Add_Lines(), Add_Pragma_To_MP_Regions(), WB_BROWSER::Address_Walk(), WB_BROWSER::Alias_Walk(), WB_BROWSER::Aliased_Node(), Allocate_All_Formals(), Calc_Formal_Area(), WN_Verifier::Call_children_are_PARM(), WN_Verifier::CALL_parent_LDID(), PROMPF_INFO::Check_Traverse(), IPO_CLONE::Clone_Tree(), Collect_Goodies(), Count_WN_Node(), Delete_Dist_Reshape_Pragmas(), WB_BROWSER::Deps(), WB_BROWSER::Deps_Loop(), Do_WOPT_and_CG_with_Regions(), DRA_Collect_Commons(), DRA_EC_Array_Portion_Parms(), DRA_Mangle_All(), DRA_Processing(), DRA_Read_Pragmas_In_Block(), draw_stmt(), draw_whirl_tree(), Open64IRInterface::DumpWN(), Error_Return_Func(), F90_Get_Dim(), fdump_tree(), Find_Alloca(), WB_BROWSER::Find_Operator_Walk(), WB_BROWSER::Find_Walk(), IPO_CLONE::Fix_ST(), fix_tree(), Get_Preamble_End(), id_str(), Initialize_Stack_Frame(), Open64IRInterface::initProcContext(), Insert_Call(), IPA_WN_Delete(), IPA_WN_DELETE_Tree(), IPA_WN_MAP32_Get(), IPA_WN_MAP32_Set(), IPA_WN_MAP64_Get(), IPA_WN_MAP64_Set(), IPA_WN_MAP_Get(), IPA_WN_MAP_Set(), IPA_WN_Move_Maps_PU(), ir_b_write_tree(), ir_put_expr(), ir_put_stmt(), ir_put_wn(), Is_Grandparent_Region(), WN_Verifier::Is_WHIRL_tree(), WN_Verifier::LDA_ty_not_NULL(), WB_BROWSER::Loops_Walk(), Machine_Type(), Max_Arg_Area_Bytes(), New_DRA(), Node_Count(), WN_OPCODE_print::operator()(), operator<<(), WN_Verifier::Param_parent_is_Call(), Parentize(), Process_Fill_Align_Pragmas_Recursive(), Prompf_Assign_Ids_Traverse(), Prompf_Id_Type(), PROMPF_INFO::Prompf_Info_Traverse(), WN_TREE_ITER_base< WN * >::Push(), Recompute_addr_saved_stmt(), WB_BROWSER::Reduction_Node(), Rewrite_Pragmas_On_Structs(), Rewrite_Structs_In_MPRegion(), Set_addr_saved_expr(), Set_addr_saved_stmt(), IPO_CLONE::Set_Entry_Point(), Open64IRInterface::setCurrentProcToProcContext(), WB_BROWSER::Statements(), WN_Verifier::STID_check_st_class(), WB_BROWSER::Symbol(), TAS_To_TOP(), WB_BROWSER::This_Node(), Open64IRInterface::toString(), whirl2xaif::TranslateWN(), whirl2xaif::Whirl2Xaif::translateWNPU(), Tree_Equiv(), WB_BROWSER::Type(), Verify_addr_flags_stmt(), Verify_addr_saved_expr(), WB_Parent_Search(), Whirl_Symbol_Type(), WHIRL_To_TOP(), whirl2xaif::WN2F_String_Argument(), WN_block_element(), WN_Call_Return_Type(), WN_Can_Be_Speculative(), WN_COPY_Tree(), WN_COPY_Tree_With_Map(), WN_CopyNode(), WN_CreateComma(), WN_CreateCompgoto(), WN_CreateDO(), WN_CreateDoWhile(), WN_CreateEval(), WN_CreateExp1(), WN_CreateExp2(), WN_CreateExp3(), WN_CreateFalsebr(), WN_CreateIf(), WN_CreateIstore(), WN_CreateIstorex(), WN_CreateLabel(), WN_CreateMstore(), WN_CreateParm(), WN_CreatePStid(), WN_CreatePstore(), WN_CreateRcomma(), WN_CreateRegion(), WN_CreateStid(), WN_CreateSwitch(), WN_CreateTruebr(), WN_CreateWhileDo(), WN_CreateXgoto(), WN_DELETE_FromBlock(), WN_DELETE_Tree(), WN_Equiv(), WN_EXTRACT_FromBlock(), WN_EXTRACT_ItemsFromBlock(), WN_Flip_Le_And_Ge(), WN_Get_Linenum(), WN_GetComment(), WN_GetExprType(), WN_INSERT_BlockAfter(), WN_INSERT_BlockBefore(), WN_intrinsic_return_ty(), WN_is_black_box(), WN_Is_Volatile_Mem(), wn_loop_get_st_ofst(), WN_LOOP_InductionVariable(), WN_LOOP_TripCount(), WN_LOOP_UpperBound(), WN_MAP_Add_Free_List(), WN_MAP_Set_ID(), WN_object_ty(), WN_Set_Linenum(), WN_Simplify_Rebuild_Expr_Tree(), WN_Simplify_Tree(), WN_Size(), WN_Size_and_StartAddress(), WN_Solve_For(), WN_StartAddress(), WN_Verifier::WN_traverse_tree(), WN_TREE_fdump_tree(), WN_TREE_put_expr(), WN_TREE_put_stmt(), WN_Tree_Type(), WN_Upper_Bound_Standardize(), WN_WALK_SCFIter(), WN_WALK_SCFNext(), WN_WALK_StmtIter(), WN_WALK_StmtNext(), whirl2xaif::xlate_BinaryOp(), whirl2xaif::xlate_CALL(), whirl2xaif::xlate_ILOADX(), whirl2xaif::xlate_INTCONST(), whirl2xaif::xlate_ISTOREX(), and whirl2xaif::xlate_UnaryOp().

Here is the call graph for this function:

OPERATOR WN_operator ( const WN wn)
inline

Definition at line 742 of file wn_core.h.

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

Referenced by WB_BROWSER::Access_Array(), Actual_data_size(), fortTkSupport::AddControlFlowEndTags(), POINTS_TO::Analyze_WN_expr(), Array_Element_Then_Struct(), Backend_Processing(), Open64IRCallsiteIterator::build_func_call_list(), Calc_Actual_Area(), WN_Verifier::CALL_parent_LDID(), Check_Actual_Stack_Size(), cleanUpPUInfo(), IPO_CLONE::Clone_Tree(), Collect_Goodies(), xaif2whirl::ConvertScalarizedRefToActiveType(), IPO_CLONE::Copy_Node(), Count_WN_Node(), Open64IRStmtIterator::create(), Open64IRPtrAsgnIterator::create(), Open64IRSymIterator::create(), Open64IRInterface::createExprTree(), xaif2whirl::CreateIfCondition(), WN_TREE_ITER< PRE_ORDER, WHIRL >::Delete(), WB_BROWSER::Dep_Symbol(), DRA_Mangle_All(), DRA_Mangle_Call_Site(), DRA_Preprocess_Call_Site(), Open64IRInterface::dump(), DumpExprTree(), Open64IRInterface::DumpWN(), Open64IRInterface::DumpWNMemRef(), Open64IRInterface::DumpWNMemRefLeaf(), dV_view_whirl(), Open64IRInterface::elseBody(), Open64IRInterface::evalOp(), Exp_To_Linex_Array(), F90_Get_Dim(), F90_Size_Walk(), F90_Wrap_ARREXP(), FB_valid_opr_branch(), FB_valid_opr_call(), FB_valid_opr_circuit(), FB_valid_opr_invoke(), FB_valid_opr_loop(), FB_valid_opr_switch(), WN_Verifier::Field_id_valid(), Fill_Align_Symbol(), Find_addr_recur(), Find_Address_Base(), Find_Alloca(), Find_Insertion_Point(), WB_BROWSER::Find_Operator_Walk(), Find_Reduction_Symbol(), Find_Symbol(), Open64IRInterface::findAllMemRefsAndMapToMemRefExprs(), Open64IRInterface::findBaseSymbol(), fortTkSupport::WhirlParentMap::FindBlock(), FindCallToInlinedFn(), fortTkSupport::FindParentWNBlock(), AdjustInterfaces::findPUSymbolType(), whirl2xaif::findRequiredProgramSymbols(), Open64IRInterface::findTopMemRefHandle(), IPO_CLONE::Fix_ST(), fortTkSupport::ForAllScalarizableRefs(), CleanUpWhirl::forPUInfo(), xaif2whirl::AdjustFunctions::forPUInfo(), AdjustInterfaces::forPUInfo(), InterfaceData::forPUInfo(), xaif2whirl::AdjustFunctions::forSubTree(), Get_surrounding_loop_count(), Get_Type_From_ArrayOp(), fortTkSupport::GetCFGControlFlowVertexType(), whirl2xaif::GetCFGEdgeCondVal(), Open64IRInterface::getCFGStmtType(), Open64IRInterface::getCondition(), Open64IRInterface::getConstValBasic(), Open64IRInterface::getDepMemRefExprIter(), Open64IRInterface::getIndepMemRefExprIter(), Open64IRInterface::getLabel(), Open64IRInterface::getLinearityOpType(), Open64IRInterface::getLoopCondition(), Open64IRInterface::getLoopIncrement(), whirl2xaif::GetLoopReversalType(), Open64IRInterface::getSymHandle(), Open64IRInterface::getTargetLabel(), Open64IRInterface::getUMultiCatchallLabel(), Open64IRInterface::getUMultiCondition(), Open64IRInterface::getUMultiTargetLabel(), Open64IRInterface::getUMultiTest(), xaif2whirl::XlateExpression::hasActiveSymbolType(), whirl2xaif::hasUnstructuredCF(), Open64IRInterface::haveDefinition(), InlineTest(), WN_TREE_ITER< PRE_ORDER, WHIRL >::Insert(), ir_put_expr(), Is_Constant_Tree(), Is_Exp_Linexable(), Is_nested_call(), Is_nested_within(), whirl2xaif::IsActiveStmt(), IsNonScalarRef(), fortTkSupport::ScalarizedRef::isRefScalarizable(), fortTkSupport::ScalarizedRef::isRefSimpleArray(), fortTkSupport::ScalarizedRef::isRefSimpleArrayElem(), fortTkSupport::ScalarizedRef::isRefSimpleScalar(), IsVarRefTranslatableToXAIF(), IntrinsicInfo::lookupIntrinsicInfo(), Open64IRInterface::loopBody(), Open64IRInterface::loopHeader(), Machine_Type(), MemCtr_Add_Local(), Open64IRInterface::numUMultiTargets(), WN_Verifier::One_level_removed_node(), Open64IRCallsiteIterator::Open64IRCallsiteIterator(), Open64IRCallsiteParamIterator::Open64IRCallsiteParamIterator(), fortTkSupport::WhirlParentMap::Parentize(), xaif2whirl::XlateExpression::patchWNExpr(), xaif2whirl::XlateStmt::patchWNStmt(), PleaseGetMeSomething(), Open64IRInterface::procBody(), Process_Fill_Align_Pragmas_Recursive(), WN_TREE_ITER_base< WN * >::Push(), RecursiveFnWN(), WB_BROWSER::Reduction_Node(), WB_BROWSER::Reduction_Walk(), References_Some_Label(), WN_TREE_ITER_base< WN * >::Replace(), Open64IRInterface::returnOpEnumValInt(), Rewrite_Pragmas_On_Structs(), Rewrite_Structs_In_MPRegion(), Set_addr_saved_stmt(), Spill_And_Take_Address(), Spill_Shared_Load(), WN_Verifier::ST_is_not_NULL(), WN_Verifier::STID_check_st_class(), Strip_TAS(), WB_BROWSER::This_Node(), Open64IRInterface::toString(), whirl2sexp::TranslateWN(), whirl2xaif::TranslateWN(), True_Bound(), Open64IRInterface::trueBody(), TY_Of_Expr(), WN_TREE_ITER< PRE_ORDER, WHIRL >::Unwind(), Update_EHRegion_Inito_Used(), Weird_Array_Element(), WN_TREE_ITER< POST_ORDER, WHIRL >::Wind(), whirl2xaif::WN2F_agoto(), whirl2xaif::WN2F_arrsection(), whirl2xaif::WN2F_Arrsection_Slots(), whirl2xaif::WN2F_cvt(), whirl2xaif::WN2F_cvtl(), whirl2xaif::WN2F_dealloca(), whirl2xaif::WN2F_eval(), whirl2xaif::LOC_INFO::WN2F_Find_And_Mark_Nested_Address(), whirl2xaif::WN2F_Find_Base(), whirl2xaif::WN2F_Get_Substring_Info(), whirl2xaif::WN2F_interface_blk(), whirl2xaif::WN2F_Is_Address_Preg(), whirl2xaif::WN2F_madd(), whirl2xaif::WN2F_mload(), whirl2xaif::WN2F_mstore(), whirl2xaif::WN2F_msub(), whirl2xaif::WN2F_namelist_stmt(), whirl2xaif::WN2F_nmadd(), whirl2xaif::WN2F_nmsub(), whirl2xaif::WN2F_nullify_stmt(), whirl2xaif::WN2F_parm(), whirl2xaif::WN2F_pstid(), whirl2xaif::WN2F_pstore(), whirl2xaif::WN2F_region(), whirl2xaif::WN2F_src_triplet(), whirl2xaif::WN2F_String_Argument(), whirl2xaif::WN2F_Substring(), whirl2xaif::WN2F_Sum_Offsets(), whirl2xaif::WN2F_tas(), whirl2xaif::WN2F_triplet(), WN_Call_First_Arg_Idx(), WN_Call_Last_Arg_Idx(), WN_Call_Return_Type(), WN_Call_Type(), WN_Can_Be_Speculative(), WN_Convert_Shared_To_Local(), WN_Create_PtrEq_Test(), WN_Create_Shared_Load(), WN_Create_Shared_Ptr_Arithmetic(), WN_Create_Shared_Store(), WN_CreateIloadx(), WN_CreateIstore(), WN_CreatePStid(), WN_CreatePstore(), WN_CreateStid(), WN_flag(), WN_Get_PtrAdd_Intconst(), WN_GetBaseObjType(), WN_GetExprType(), WN_GetRefObjType(), WN_Has_Label(), WN_has_side_effects(), WN_INSERT_BlockAfter(), WN_INSERT_BlockBefore(), WN_intrinsic_return_ty(), WN_kid_count(), WN_load_addr_ty(), wn_loop_get_st_ofst(), WN_LOOP_Increment(), WN_LOOP_LowerBound(), WN_num_actuals(), WN_object_size(), WN_object_ty(), WN_Rename_Duplicate_Labels(), WN_set_flag(), WN_set_kid_count(), WN_set_load_addr_ty(), WN_set_st_addr_saved(), WN_set_ty(), WN_SetNull_Sptr(), WN_Simplify_Rebuild_Expr_Tree(), WN_Simplify_Tree(), WN_Solve_For(), WN_Symbol_Count(), WN_Tree_Has_Duplicate_Labels(), WN_TREE_ITER< PRE_ORDER, WHIRL >::WN_TREE_next(), WN_TREE_ITER< POST_ORDER, WHIRL >::WN_TREE_next(), WN_TREE_put_expr(), WN_Tree_Type(), WN_ty(), WN_Type_Is_Shared_Ptr(), WN_Upper_Bound_Standardize(), WN_Verifier::WN_Verifier(), WN_WALK_SCFIter(), WN_WALK_SCFNext(), WN_WALK_StmtIter(), WN_WALK_StmtNext(), WN_WALK_TreeIter(), WN_WALK_TreeNext(), whirl2sexp::xlate_AGOTO(), whirl2sexp::xlate_ALLOCA(), whirl2sexp::xlate_ALTENTRY(), whirl2xaif::xlate_ALTENTRY(), whirl2xaif::xlate_ARRAY(), xaif2whirl::XlateExpression::xlate_ArrayElementReference(), whirl2xaif::xlate_ArrayIndices(), whirl2sexp::xlate_ARRAYx(), xaif2whirl::XlateStmt::xlate_Assignment(), xaif2whirl::xlate_BasicBlock_OLD(), xaif2whirl::xlate_BBCond_OLD(), whirl2xaif::xlate_BBStmt(), whirl2xaif::xlate_BinaryOp(), whirl2sexp::xlate_BinaryOp(), xlate_BinaryOpUsingIntrinsicTable(), whirl2xaif::xlate_BLOCK(), whirl2sexp::xlate_BLOCK(), whirl2xaif::xlate_CALL(), whirl2sexp::xlate_CASEGOTO(), whirl2xaif::xlate_COMMENT(), whirl2xaif::xlate_condBR(), whirl2sexp::xlate_condBR(), whirl2xaif::xlate_CONST(), whirl2sexp::xlate_CONST(), whirl2sexp::xlate_CVT_CVTL(), whirl2xaif::xlate_DO_LOOP(), whirl2xaif::xlate_DO_WHILE(), whirl2xaif::xlate_EntryPoint(), xaif2whirl::XlateExpression::xlate_ExprOpUsingIntrinsicTable(), whirl2sexp::xlate_FUNC_ENTRY(), whirl2xaif::xlate_FUNC_ENTRY(), whirl2xaif::xlate_GOTO(), whirl2sexp::xlate_GOTOx_LABEL(), whirl2sexp::xlate_IDNAME(), whirl2xaif::xlate_IF(), whirl2xaif::xlate_ILOAD(), whirl2sexp::xlate_IMPLIED_DO(), whirl2xaif::xlate_INTCONST(), whirl2sexp::xlate_INTCONST(), whirl2xaif::xlate_INTRINSIC_CALL(), whirl2xaif::xlate_INTRINSIC_OP(), whirl2xaif::xlate_IO(), whirl2sexp::xlate_IO(), whirl2sexp::xlate_IO_ITEM(), xlate_IO_ITEM_control(), xlate_IO_ITEM_list(), whirl2xaif::xlate_ISTORE(), whirl2xaif::xlate_LABEL(), whirl2xaif::xlate_LDA(), whirl2sexp::xlate_LDA_LDMA(), whirl2xaif::xlate_LDID(), whirl2sexp::xlate_LDID_STID(), whirl2xaif::xlate_MemRef(), whirl2sexp::xlate_misc_stmt(), whirl2sexp::xlate_multiBR(), whirl2xaif::xlate_PAREN(), whirl2sexp::xlate_PARM(), whirl2xaif::xlate_PassiveStmt(), whirl2xaif::xlate_PRAGMA(), whirl2xaif::xlate_PREFETCH(), whirl2xaif::xlate_RECIP(), whirl2sexp::xlate_REGION(), whirl2xaif::xlate_RETURN(), whirl2xaif::xlate_RETURN_VAL(), whirl2sexp::xlate_RETURNx(), whirl2xaif::xlate_ScalarizedRefTab(), whirl2xaif::xlate_SideEffectEntry(), whirl2xaif::xlate_STID(), whirl2sexp::xlate_STRCTFLD(), whirl2sexp::xlate_structured_cf(), whirl2xaif::xlate_SWITCH(), xaif2whirl::XlateExpression::xlate_SymbolReferenceCollapsedPath(), whirl2sexp::xlate_TAS(), whirl2sexp::xlate_TernaryOp(), whirl2xaif::xlate_UnaryOp(), whirl2sexp::xlate_UnaryOp(), whirl2sexp::xlate_unknown(), whirl2xaif::xlate_unknown(), whirl2xaif::xlate_USE(), whirl2xaif::xlate_WHILE_DO(), whirl2sexp::xlate_xCALL(), whirl2sexp::xlate_xLOADx_xSTOREx(), and whirl2sexp::xlate_xPRAGMA().

mUINT16& WN_pragma ( WN wn)
inline

Definition at line 710 of file wn_core.h.

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

INT32 WN_pragma_arg1 ( const WN wn)
inline
INT32& WN_pragma_arg1 ( WN wn)
inline

Definition at line 786 of file wn_core.h.

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

INT32 WN_pragma_arg2 ( const WN wn)
inline
INT32& WN_pragma_arg2 ( WN wn)
inline

Definition at line 788 of file wn_core.h.

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

INT64 WN_pragma_arg64 ( const WN wn)
inline

Definition at line 783 of file wn_core.h.

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

Referenced by WN_CreateXpragma().

INT64& WN_pragma_arg64 ( WN wn)
inline

Definition at line 784 of file wn_core.h.

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

char* WN_pragma_asm_constraint ( const WN wn)
inline

Definition at line 712 of file wn_core.h.

References ST_name(), St_Table, and WN_pragma_arg1().

Referenced by ir_put_wn().

Here is the call graph for this function:

PREG_NUM WN_pragma_asm_copyout_preg ( const WN wn)
inline

Definition at line 713 of file wn_core.h.

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

Referenced by ir_put_wn().

UINT32 WN_pragma_asm_opnd_num ( const WN wn)
inline

Definition at line 715 of file wn_core.h.

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

Referenced by ir_put_wn().

mINT8 WN_pragma_distr_type ( const WN wn)
inline

Definition at line 789 of file wn_core.h.

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

Referenced by DRA_Insert_Pragmas(), ir_put_wn(), and New_DRA().

mINT8& WN_pragma_distr_type ( WN wn)
inline

Definition at line 790 of file wn_core.h.

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

mUINT16 WN_pragma_flags ( const WN wn)
inline

Definition at line 707 of file wn_core.h.

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

Referenced by ir_put_wn(), WN_CreatePragma(), WN_CreateXpragma(), and whirl2sexp::xlate_xPRAGMA().

mUINT16& WN_pragma_flags ( WN wn)
inline

Definition at line 708 of file wn_core.h.

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

mINT8 WN_pragma_index ( const WN wn)
inline

Definition at line 791 of file wn_core.h.

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

Referenced by DRA_Insert_Pragmas(), and ir_put_wn().

mINT8& WN_pragma_index ( WN wn)
inline

Definition at line 792 of file wn_core.h.

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

INT32 WN_pragma_preg ( const WN wn)
inline

Definition at line 793 of file wn_core.h.

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

Referenced by ir_put_wn().

INT32& WN_pragma_preg ( WN wn)
inline

Definition at line 794 of file wn_core.h.

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

UINT32 WN_prefetch_flag ( const WN wn)
inline

Definition at line 731 of file wn_core.h.

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

Referenced by Find_Reduction_Symbol(), Rewrite_Pragmas_On_Structs(), WN_flag(), and WN_set_flag().

UINT32& WN_prefetch_flag ( WN wn)
inline

Definition at line 732 of file wn_core.h.

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

WN*& WN_prev ( WN wn)
inline

Definition at line 933 of file wn_core.h.

References WN_CAST_WN_TO_STMT_WN.

WN* WN_prev_free ( const STMT_WN stmt_wn)
inline

Definition at line 938 of file wn_core.h.

References STMT_WN_BASE::prev.

Referenced by WN_FREE_LIST_Pop(), and WN_FREE_LIST_Push().

WN*& WN_prev_free ( STMT_WN stmt_wn)
inline

Definition at line 939 of file wn_core.h.

References STMT_WN_BASE::prev.

WN& WN_real_fields ( STMT_WN stmt_wn)
inline

Definition at line 940 of file wn_core.h.

References STMT_WN::wn.

Referenced by IPO_CLONE::Copy_Node(), and WN_Create().

mUINT32 WN_region_id ( const WN wn)
inline

Definition at line 720 of file wn_core.h.

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

Referenced by fix_tree(), and ir_put_wn().

REGION_KIND WN_region_kind ( const WN wn)
inline

Definition at line 718 of file wn_core.h.

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

Referenced by ir_put_wn().

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

Definition at line 752 of file wn_core.h.

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

Referenced by WN_SimpCreateDeposit(), and WN_SimpCreateExtract().

void WN_set_desc ( WN wn,
TYPE_ID  ty 
)
inline

Definition at line 754 of file wn_core.h.

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

Referenced by IPA_WN_Delete(), WN_Create(), and WN_Create_Shared_Load().

void WN_set_kid_count ( WN wn,
UINT  n 
)
inline

Definition at line 747 of file wn_core.h.

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

Referenced by whirl2xaif::WN2F_Initiate_OneInt(), whirl2xaif::WN2F_Initiate_ZeroInt(), and WN_Create().

Here is the call graph for this function:

void WN_Set_Linenum ( WN wn,
INT64  ln 
)
inline

Definition at line 1257 of file wn_core.h.

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

Referenced by DRA_EC_Array_Portion_Parms(), Gen_Call_Array(), Gen_Free_Cart(), Gen_Malloc_Cart(), and WN_CreateRegion().

Here is the call graph for this function:

void WN_set_load_addr_ty ( WN wn,
TY_IDX  ty 
)
inline

Definition at line 1146 of file wn_core.h.

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

Referenced by WN_Create_Generic(), WN_CreateIload(), WN_CreateIloadx(), sexp2whirl::xlate_STRCTFLD(), and sexp2whirl::xlate_xLOADx_xSTOREx().

Here is the call graph for this function:

void WN_set_opcode ( WN wn,
OPCODE  opc 
)
inline
void WN_set_operator ( WN wn,
OPERATOR  opr 
)
inline

Definition at line 743 of file wn_core.h.

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

Referenced by IPA_WN_Delete(), and WN_Create().

void WN_set_pragma_asm_copyout_preg ( WN wn,
PREG_NUM  r 
)
inline

Definition at line 714 of file wn_core.h.

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

Referenced by WN_CreatePragma().

void WN_set_pragma_asm_opnd_num ( WN wn,
UINT32  i 
)
inline

Definition at line 716 of file wn_core.h.

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

Referenced by WN_CreatePragma().

void WN_set_region_id ( WN wn,
mUINT32  i 
)
inline

Definition at line 721 of file wn_core.h.

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

Referenced by WN_CreateRegion().

void WN_set_region_kind ( WN wn,
REGION_KIND  k 
)
inline

Definition at line 719 of file wn_core.h.

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

Referenced by WN_CreateRegion().

void WN_set_rtype ( WN wn,
TYPE_ID  ty 
)
inline

Definition at line 745 of file wn_core.h.

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

Referenced by IPA_WN_Delete(), WN_Create(), and WN_Create_Shared_Load().

INT32 WN_Size ( WN wn)
inline

Definition at line 1246 of file wn_core.h.

References max, OPCODE_has_next_prev(), WN_kid_count(), and WN_opcode().

Referenced by IPA_WN_Delete().

Here is the call graph for this function:

ST* WN_st ( const WN x)
inline

Definition at line 956 of file wn_core.h.

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

Referenced by Add_Pragma_To_MP_Regions(), Allocate_All_Formals(), Array_Element_Then_Struct(), Backend_Processing(), Open64IRCallsiteIterator::build_func_call_list(), Calc_Formal_Area(), WN_Verifier::CALL_parent_LDID(), Check_Actual_Stack_Size(), cleanUpPUInfo(), IPO_CLONE::Clone_Tree(), Open64IRSymIterator::create(), Open64IRInterface::createExprTree(), Delete_Dist_Reshape_Pragmas(), DRA_Collect_Commons(), DRA_EC_Array_Portion_Parms(), DRA_Insert_Pragmas(), DRA_Mangle_All(), DRA_Mangle_Call_Site(), DRA_Mangle_Entry(), DRA_New_Clone_Sig(), DRA_Preprocess_Call_Site(), DRA_Preprocess_Entry(), DRA_Processing(), DRA_Read_Pragmas_In_Block(), InterfaceData::dump(), Open64IRInterface::dump(), Open64IRInterface::DumpWN(), Open64IRInterface::DumpWNMemRefLeaf(), Exp_To_Linex_Array(), Find_Insertion_Point(), Find_Symbol(), Open64IRInterface::findAllMemRefsAndMapToMemRefExprs(), InterfaceData::findAndAdjustInterface(), Open64IRInterface::findBaseSymbol(), FindCallToInlinedFn(), AdjustInterfaces::findPUSymbolType(), whirl2xaif::findRequiredProgramSymbols(), whirl2xaif::findVarSymbolsInTree(), IPO_CLONE::Fix_ST(), Formal_Position(), CleanUpWhirl::forPUInfo(), xaif2whirl::AdjustFunctions::forPUInfo(), AdjustInterfaces::forPUInfo(), xaif2whirl::AdjustFunctions::forSubTree(), IPO_CLONE::Get_Func_Name(), IPO_CLONE::Get_Func_ST(), Open64IRInterface::getConstValBasic(), Open64IRInterface::getDepMemRefExprIter(), Open64IRInterface::getFormalForActual(), Open64IRInterface::getFormalSym(), Open64IRInterface::getIndepMemRefExprIter(), whirl2xaif::GetLoopReversalType(), whirl2xaif::GetParamSymHandleSet(), Open64IRInterface::getSymHandle(), xaif2whirl::XlateExpression::hasActiveSymbolType(), Open64IRInterface::haveDefinition(), Initialize_Stack_Frame(), InlineTest(), Insert_Call(), ir_put_wn(), Is_Exp_Linexable(), Is_nested_call(), WN_Verifier::Is_return_register_of_call(), IsVarRefTranslatableToXAIF(), IntrinsicInfo::lookupIntrinsicInfo(), Machine_Type(), Max_Arg_Area_Bytes(), MemCtr_Add_Local(), IPO_CLONE::New_Clone(), Post_LNO_Processing(), Rewrite_Pragmas_On_Structs(), Rewrite_Structs_In_MPRegion(), Set_addr_saved_expr(), IPO_CLONE::Set_Entry_Point(), simp_cvt(), SIMPNODE_GetDefinition(), WN_Verifier::ST_is_not_NULL(), STAB_ADAPTER::St_ptr(), WN_Verifier::STID_check_st_class(), WB_BROWSER::Symbol(), TestIR_OA_ForEachWNPU(), WB_BROWSER::Type(), Verify_addr_saved_expr(), Weird_Array_Element(), Whirl_Symbol_Type(), whirl2xaif::WN2F_arrsection(), whirl2xaif::WN2F_Arrsection_Slots(), whirl2xaif::WN2F_casegoto(), whirl2xaif::WN2F_implied_do(), whirl2xaif::WN2F_interface_blk(), whirl2xaif::WN2F_Is_Address_Preg(), whirl2xaif::WN2F_namelist_stmt(), whirl2xaif::WN2F_nullify_stmt(), whirl2xaif::WN2F_pstid(), WN_asm_input_constraint(), WN_asm_string(), WN_Call_Return_Type(), WN_Call_Type(), WN_Can_Be_Speculative(), WN_Create_Shared_Store(), WN_GetBaseObjType(), WN_GetComment(), WN_GetRefObjType(), Wn_Is_Intconst(), WN_set_st_addr_saved(), WN_SetNull_Sptr(), WN_val(), whirl2xaif::xlate_ARRAY(), xaif2whirl::XlateExpression::xlate_ArrayElementReference(), whirl2xaif::xlate_ArrayIndices(), xaif2whirl::XlateStmt::xlate_Assignment(), whirl2xaif::xlate_BBStmt(), xlate_BinaryOpUsingIntrinsicTable(), whirl2xaif::xlate_CALL(), xaif2whirl::xlate_CFGstruct(), whirl2xaif::xlate_CONST(), whirl2xaif::xlate_EntryPoint(), xaif2whirl::XlateExpression::xlate_ExprOpUsingIntrinsicTable(), whirl2xaif::xlate_intent(), xlate_IO_ITEM_control(), xlate_IO_ITEM_format(), xlate_IO_ITEM_list(), whirl2xaif::xlate_LDA(), whirl2xaif::xlate_LDID(), whirl2xaif::xlate_MemRef(), whirl2xaif::xlate_SideEffectEntry(), whirl2xaif::xlate_STID(), xaif2whirl::XlateExpression::xlate_SymbolReferenceCollapsedPath(), and whirl2xaif::xlate_USE().

Here is the call graph for this function:

ST_IDX WN_st_idx ( const WN wn)
inline
ST_IDX& WN_st_idx ( WN wn)
inline

Definition at line 724 of file wn_core.h.

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

void* WN_StartAddress ( WN wn)
inline

Definition at line 1237 of file wn_core.h.

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

Referenced by IPA_copy_PU(), WN_FREE_LIST_Push(), and WN_write_tree().

Here is the call graph for this function:

WN_OFFSET& WN_store_offset ( WN wn)
inline

Definition at line 678 of file wn_core.h.

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

TY_IDX WN_ty ( const WN wn)
inline

Definition at line 1102 of file wn_core.h.

References OPR_IO_ITEM, OPR_LDA, OPR_LDBITS, OPR_LDID, OPR_PSTID, OPR_STBITS, OPR_STID, WN::ty_fields, WN::u1u2, WN::u3, WN::uu, and WN_operator().

Referenced by Check_Actual_Stack_Size(), Open64IRInterface::DumpWNMemRefLeaf(), WN_Verifier::Field_id_valid(), field_type(), Find_addr_recur(), Get_Type_From_ArrayOp(), ir_put_wn(), fortTkSupport::ScalarizedRef::isRefScalarizable(), WN_Verifier::LDA_ty_not_NULL(), Max_Arg_Area_Bytes(), Rewrite_Structs_In_MPRegion(), Spill_And_Take_Address(), Spill_Shared_Load(), WN_Verifier::TY_is_not_NULL(), TY_Of_Expr(), Whirl2Src_Translate_Istore_Str(), whirl2xaif::WN2F_arrsection(), whirl2xaif::LOC_INFO::WN2F_Find_And_Mark_Nested_Address(), whirl2xaif::WN2F_Is_Address_Preg(), whirl2xaif::WN2F_mload(), whirl2xaif::WN2F_mstore(), whirl2xaif::WN2F_parm(), whirl2xaif::WN2F_pstid(), whirl2xaif::WN2F_pstore(), WN_Call_Type(), WN_Convert_Shared_To_Local(), WN_Create_PtrEq_Test(), WN_Create_Shared_Load(), WN_Create_Shared_Ptr_Arithmetic(), WN_Create_Shared_Store(), WN_Equiv(), WN_GetBaseObjType(), WN_GetExprType(), WN_GetRefObjType(), WN_has_side_effects(), WN_Is_Volatile_Mem(), WN_object_ty(), WN_SetNull_Sptr(), WN_Simplify_Rebuild_Expr_Tree(), WN_Simplify_Tree(), WN_Tree_Type(), WN_Type_Is_Shared_Ptr(), whirl2xaif::xlate_ARRAY(), whirl2xaif::xlate_CALL(), whirl2sexp::xlate_IO_ITEM(), xlate_IO_ITEM_list(), whirl2sexp::xlate_LDA_LDMA(), whirl2sexp::xlate_LDID_STID(), whirl2sexp::xlate_PARM(), whirl2sexp::xlate_STRCTFLD(), xaif2whirl::XlateExpression::xlate_SymbolReferenceCollapsedPath(), whirl2sexp::xlate_TAS(), whirl2sexp::xlate_xCALL(), and whirl2sexp::xlate_xLOADx_xSTOREx().

Here is the call graph for this function:

TCON& WN_val ( const WN x)
inline

Definition at line 1085 of file wn_core.h.

References ST_tcon_val(), and WN_st().

Referenced by Const_Val(), Open64IRInterface::DumpWN(), whirl2xaif::GetLoopReversalType(), and WN_val_type().

Here is the call graph for this function:

TYPE_ID WN_val_type ( const WN x)
inline

Definition at line 1088 of file wn_core.h.

References TCON_ty, and WN_val().

Here is the call graph for this function: