osprey/be/com/wn_lower.h File Reference

#include "opt_alias_interface.h"

Include dependency graph for wn_lower.h:

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

Go to the source code of this file.

Defines

#define LOWER_NULL   0x000000000000ll
#define LOWER_DO_LOOP   0x000000000001ll
#define LOWER_DO_WHILE   0x000000000002ll
#define LOWER_WHILE_DO   0x000000000004ll
#define LOWER_IF   0x000000000008ll
#define LOWER_COMPLEX   0x000000000010ll
#define LOWER_ARRAY   0x000000000020ll
#define LOWER_SPLIT_CONST_OFFSETS   0x000000000040ll
#define LOWER_ENTRY_EXIT   0x000000000080ll
#define LOWER_CALL   0x000000000100ll
#define LOWER_SPLIT_SYM_ADDRS   0x000000000200ll
#define LOWER_IO_STATEMENT   0x000000000400ll
#define LOWER_MSTORE   0x000000000800ll
#define LOWER_CVT   0x000000001000ll
#define LOWER_MP   0x000000002000ll
#define LOWER_8X_ARRAY   0x000000004000ll
#define LOWER_REGION   0x000000008000ll
#define LOWER_QUAD   0x000000010000ll
#define LOWER_COMPGOTO   0x000000020000ll
#define LOWER_MADD   0x000000040000ll
#define LOWER_INTRINSIC   0x000000080000ll
#define LOWER_INLINE_INTRINSIC   0x000000100000ll
#define LOWER_TOP_LEVEL_ONLY   0x000000200000ll
#define LOWER_REGION_EXITS   0x000000400000ll
#define LOWER_INL_STACK_INTRINSIC   0x000000800000ll
#define LOWER_PREFETCH_MAPS   0x000001000000ll
#define LOWER_ALIAS_MAPS   0x000002000000ll
#define LOWER_DEPGRAPH_MAPS   0x000004000000ll
#define LOWER_PARITY_MAPS   0x000008000000ll
#define LOWER_PICCALL   0x000010000000ll
#define LOWER_BASE_INDEX   0x000020000000ll
#define LOWER_ASSERT   0x000040000000ll
#define LOWER_FREQUENCY_MAPS   0x000080000000ll
#define LOWER_FORMAL_REF   0x000100000000ll
#define LOWER_UPLEVEL   0x000200000000ll
#define LOWER_ENTRY_FORMAL_REF   0x000400000000ll
#define LOWER_SHORTCIRCUIT   0x000800000000ll
#define LOWER_TREEHEIGHT   0x001000000000ll
#define LOWER_RETURN_VAL   0x002000000000ll
#define LOWER_MLDID_MSTID   0x004000000000ll
#define LOWER_BIT_FIELD_ID   0x008000000000ll
#define LOWER_BITS_OP   0x010000000000ll
#define LOWER_TO_MEMLIB   0x040000000000ll
#define LOWER_FAST_EXP   0x080000000000ll
#define LOWER_EARLY_MLOAD   0x100000000000ll
#define LOWER_TO_CG   0x800000000000ll
#define LOWER_SCF   (LOWER_DO_LOOP | LOWER_DO_WHILE | LOWER_WHILE_DO | LOWER_IF)
#define LOWER_ALL_MAPS   (LOWER_PREFETCH_MAPS | LOWER_ALIAS_MAPS | LOWER_DEPGRAPH_MAPS | LOWER_PARITY_MAPS | LOWER_FREQUENCY_MAPS)

Typedefs

typedef INT64 LOWER_ACTIONS

Enumerations

enum  PARITY {
  PARITY_UNKNOWN = ~0x0, PARITY_COMPLEX_REAL = 0x01, PARITY_COMPLEX_IMAG = 0x02, PARITY_QUAD_HI = 0x04,
  PARITY_QUAD_LO = 0x08
}

Functions/Subroutines

PARITY WN_parity (WN *tree)
BOOL WN_parity_independent (WN *wn1, WN *wn2)
void Lower_Init (void)
void Lowering_Finalize (void)
FLD_HANDLE FLD_And_Offset_From_Field_Id (TY_IDX struct_ty_idx, UINT field_id, UINT &cur_field_id, UINT64 &offset)
WNWN_Lower (WN *tree, LOWER_ACTIONS actions, struct ALIAS_MANAGER *alias, const char *msg)
WNlower_scf_non_recursive (WN *block, WN *tree, LOWER_ACTIONS actions)
WNlower_block (WN *tree, LOWER_ACTIONS actions)
const char * LOWER_ACTIONS_name (LOWER_ACTIONS action)
UINT32 compute_offset_alignment (INT32 offset, UINT32 align)
TYcompute_alignment_type (WN *tree, TY *type, INT64 offset)
void WN_Lower_Checkdump (const char *msg, WN *tree, LOWER_ACTIONS actions)
void U64_lower_wn (WN *, BOOL)


Define Documentation

#define LOWER_8X_ARRAY   0x000000004000ll

Definition at line 71 of file wn_lower.h.

Referenced by lower_bit_field_id().

#define LOWER_ALIAS_MAPS   0x000002000000ll

Definition at line 82 of file wn_lower.h.

Referenced by lower_bit_field_id(), lower_copy_maps(), and lower_map().

#define LOWER_ALL_MAPS   (LOWER_PREFETCH_MAPS | LOWER_ALIAS_MAPS | LOWER_DEPGRAPH_MAPS | LOWER_PARITY_MAPS | LOWER_FREQUENCY_MAPS)

Definition at line 128 of file wn_lower.h.

Referenced by lower_bit_field_id(), RVI::Perform_RVI(), and Pre_Optimizer().

#define LOWER_ARRAY   0x000000000020ll

Definition at line 62 of file wn_lower.h.

Referenced by lower_bit_field_id(), lower_linearize_array_addr(), and Pre_Optimizer().

#define LOWER_ASSERT   0x000040000000ll

Definition at line 87 of file wn_lower.h.

Referenced by lower_bit_field_id().

#define LOWER_BASE_INDEX   0x000020000000ll

Definition at line 86 of file wn_lower.h.

Referenced by lower_bit_field_id(), lower_complex_expr(), and Pre_Optimizer().

#define LOWER_BIT_FIELD_ID   0x008000000000ll

Definition at line 96 of file wn_lower.h.

Referenced by lower_bit_field_id(), and Pre_Optimizer().

#define LOWER_BITS_OP   0x010000000000ll

Definition at line 97 of file wn_lower.h.

Referenced by lower_bit_field_id(), and Pre_Optimizer().

#define LOWER_CALL   0x000000000100ll

Definition at line 65 of file wn_lower.h.

Referenced by lower_bit_field_id().

#define LOWER_COMPGOTO   0x000000020000ll

Definition at line 74 of file wn_lower.h.

Referenced by lower_bit_field_id().

#define LOWER_COMPLEX   0x000000000010ll

Definition at line 61 of file wn_lower.h.

Referenced by lower_bit_field_id(), lower_complex_expr(), and Pre_Optimizer().

#define LOWER_CVT   0x000000001000ll

Definition at line 69 of file wn_lower.h.

Referenced by lower_bit_field_id().

#define LOWER_DEPGRAPH_MAPS   0x000004000000ll

#define LOWER_DO_LOOP   0x000000000001ll

Definition at line 57 of file wn_lower.h.

Referenced by lower_bit_field_id().

#define LOWER_DO_WHILE   0x000000000002ll

Definition at line 58 of file wn_lower.h.

Referenced by lower_bit_field_id().

#define LOWER_EARLY_MLOAD   0x100000000000ll

Definition at line 103 of file wn_lower.h.

Referenced by lower_bit_field_id().

#define LOWER_ENTRY_EXIT   0x000000000080ll

Definition at line 64 of file wn_lower.h.

Referenced by lower_bit_field_id(), and Pre_Optimizer().

#define LOWER_ENTRY_FORMAL_REF   0x000400000000ll

Definition at line 91 of file wn_lower.h.

Referenced by lower_bit_field_id().

#define LOWER_FAST_EXP   0x080000000000ll

Definition at line 102 of file wn_lower.h.

Referenced by lower_bit_field_id(), and VHO_Lower_Driver().

#define LOWER_FORMAL_REF   0x000100000000ll

Definition at line 89 of file wn_lower.h.

Referenced by lower_bit_field_id().

#define LOWER_FREQUENCY_MAPS   0x000080000000ll

Definition at line 88 of file wn_lower.h.

Referenced by GOTO_TABLE::Dismantle(), and lower_bit_field_id().

#define LOWER_IF   0x000000000008ll

Definition at line 60 of file wn_lower.h.

Referenced by lower_bit_field_id().

#define LOWER_INL_STACK_INTRINSIC   0x000000800000ll

Definition at line 80 of file wn_lower.h.

Referenced by lower_bit_field_id().

#define LOWER_INLINE_INTRINSIC   0x000000100000ll

Definition at line 77 of file wn_lower.h.

Referenced by lower_bit_field_id(), Pre_Optimizer(), and VHO_Lower_Driver().

#define LOWER_INTRINSIC   0x000000080000ll

Definition at line 76 of file wn_lower.h.

Referenced by lower_bit_field_id(), and W2C_Outfile_Translate_Pu().

#define LOWER_IO_STATEMENT   0x000000000400ll

#define LOWER_MADD   0x000000040000ll

Definition at line 75 of file wn_lower.h.

Referenced by lower_bit_field_id().

#define LOWER_MLDID_MSTID   0x004000000000ll

Definition at line 95 of file wn_lower.h.

Referenced by Do_WOPT_and_CG_with_Regions(), lower_bit_field_id(), and RVI::Perform_RVI().

#define LOWER_MP   0x000000002000ll

#define LOWER_MSTORE   0x000000000800ll

Definition at line 68 of file wn_lower.h.

Referenced by lower_bit_field_id().

#define LOWER_NULL   0x000000000000ll

#define LOWER_PARITY_MAPS   0x000008000000ll

Definition at line 84 of file wn_lower.h.

Referenced by lower_bit_field_id(), lower_complex_maps(), and lower_quad_maps().

#define LOWER_PICCALL   0x000010000000ll

Definition at line 85 of file wn_lower.h.

Referenced by lower_bit_field_id(), and RVI::Perform_RVI().

#define LOWER_PREFETCH_MAPS   0x000001000000ll

Definition at line 81 of file wn_lower.h.

Referenced by lower_bit_field_id(), and lower_copy_maps().

#define LOWER_QUAD   0x000000010000ll

Definition at line 73 of file wn_lower.h.

Referenced by lower_bit_field_id(), lower_quad_expr(), and lower_recip().

#define LOWER_REGION   0x000000008000ll

Definition at line 72 of file wn_lower.h.

Referenced by lower_bit_field_id().

#define LOWER_REGION_EXITS   0x000000400000ll

Definition at line 79 of file wn_lower.h.

Referenced by lower_bit_field_id(), and Pre_Optimizer().

#define LOWER_RETURN_VAL   0x002000000000ll

Definition at line 94 of file wn_lower.h.

Referenced by Backend_Processing(), and lower_bit_field_id().

#define LOWER_SCF   (LOWER_DO_LOOP | LOWER_DO_WHILE | LOWER_WHILE_DO | LOWER_IF)

#define LOWER_SHORTCIRCUIT   0x000800000000ll

Definition at line 92 of file wn_lower.h.

Referenced by lower_bit_field_id(), and Pre_Optimizer().

#define LOWER_SPLIT_CONST_OFFSETS   0x000000000040ll

Definition at line 63 of file wn_lower.h.

Referenced by lower_base_reference(), lower_bit_field_id(), and RVI::Perform_RVI().

#define LOWER_SPLIT_SYM_ADDRS   0x000000000200ll

Definition at line 66 of file wn_lower.h.

Referenced by lower_bit_field_id(), and RVI::Perform_RVI().

#define LOWER_TO_CG   0x800000000000ll

Definition at line 104 of file wn_lower.h.

Referenced by Do_WOPT_and_CG_with_Regions(), and lower_bit_field_id().

#define LOWER_TO_MEMLIB   0x040000000000ll

Definition at line 101 of file wn_lower.h.

Referenced by lower_bit_field_id(), and Pre_Optimizer().

#define LOWER_TOP_LEVEL_ONLY   0x000000200000ll

Definition at line 78 of file wn_lower.h.

Referenced by lower_bit_field_id().

#define LOWER_TREEHEIGHT   0x001000000000ll

Definition at line 93 of file wn_lower.h.

Referenced by lower_bit_field_id(), lower_tree_height(), and VHO_Lower_Driver().

#define LOWER_UPLEVEL   0x000200000000ll

Definition at line 90 of file wn_lower.h.

Referenced by lower_bit_field_id(), and Pre_Optimizer().

#define LOWER_WHILE_DO   0x000000000004ll

Definition at line 59 of file wn_lower.h.

Referenced by lower_bit_field_id().


Typedef Documentation

Definition at line 54 of file wn_lower.h.


Enumeration Type Documentation

enum PARITY

Enumerator:
PARITY_UNKNOWN 
PARITY_COMPLEX_REAL 
PARITY_COMPLEX_IMAG 
PARITY_QUAD_HI 
PARITY_QUAD_LO 

Definition at line 138 of file wn_lower.h.


Function Documentation

TY* compute_alignment_type ( WN tree,
TY type,
INT64  offset 
)

UINT32 compute_offset_alignment ( INT32  offset,
UINT32  align 
)

Definition at line 537 of file wn_lower.cxx.

References ABS, INT32, n, and UINT32.

Referenced by compute_alignment(), compute_alignment_type(), Create_Maligned_TY(), and lower_bit_field_id().

FLD_HANDLE FLD_And_Offset_From_Field_Id ( TY_IDX  struct_ty_idx,
UINT  field_id,
UINT cur_field_id,
UINT64 offset 
)

const char* LOWER_ACTIONS_name ( LOWER_ACTIONS  action  ) 

WN* lower_block ( WN tree,
LOWER_ACTIONS  actions 
)

void Lower_Init ( void   ) 

WN* lower_scf_non_recursive ( WN block,
WN tree,
LOWER_ACTIONS  actions 
)

void Lowering_Finalize ( void   ) 

void U64_lower_wn ( WN ,
BOOL   
)

WN* WN_Lower ( WN tree,
LOWER_ACTIONS  actions,
struct ALIAS_MANAGER alias,
const char *  msg 
)

void WN_Lower_Checkdump ( const char *  msg,
WN tree,
LOWER_ACTIONS  actions 
)

PARITY WN_parity ( WN tree  ) 

BOOL WN_parity_independent ( WN wn1,
WN wn2 
)

Definition at line 1511 of file wn_lower.cxx.

References FALSE, NULL, p1, p2, TRUE, WN_map_id(), and WN_parity().


Generated on Wed Apr 8 14:31:43 2009 for Open64 by  doxygen 1.5.6