osprey/be/lno/cse.cxx File Reference

#include <stdint.h>
#include <sys/types.h>
#include "lnopt_main.h"
#include "dep_graph.h"
#include "lnoutils.h"
#include "lwn_util.h"
#include "opt_du.h"
#include "cse.h"
#include "reduc.h"

Include dependency graph for cse.cxx:

Go to the source code of this file.

Defines

#define __STDC_LIMIT_MACROS

Typedefs

typedef STACK< WN * > STACK_OF_WN

Enumerations

enum  EQUIVALENCE_TYPE {
  EQ_NONE = 0, EQ_ADD, EQ_MPY, EQ_MIN,
  EQ_MAX, EQ_RECIP, EQ_DIV, EQ_RSQRT,
  EQ_SQRT, EQ_LOAD, EQ_NONE = 0, EQ_ADD,
  EQ_MPY, EQ_MIN, EQ_MAX
}

Functions/Subroutines

static void Inter_Iteration_Cses_R (WN *wn)
static void Inter_Iteration_Cses_Loop (WN *loop)
static EQUIVALENCE_TYPE Set_Up_Equivalence_Classes (WN *wn, WN *loop)
static void Set_Up_Equivalence_Class (WN *wn, OPERATOR etype, WN *loop, TYPE_ID type)
static void Process_Pair (WN *a1, WN *b1, WN *a2, WN *b2, WN *loop)
static void Transform_Code (STACK< WN_PAIR_EC > *cse_stack, WN *loop, BOOL all_invariant)
static void Add_Invariant_Deps ()
void Inter_Iteration_Cses (WN *func_nd)
BOOL Same_Side (WN *child1, WN *parent1, WN *child2, WN *parent2)
static OPERATOR Norm_Opr (OPERATOR oper)
static void Append_Wn_Pair (STACK< WN_PAIR_EC > *cse_stack, WN *a3, WN *b3, INT32 eclass)
static void Prepend_Wn_Pair (STACK< WN_PAIR_EC > *cse_stack, WN *a0, WN *b0, INT32 eclass)
static BOOL Both_Invariant (STACK< WN_PAIR_EC > *cse_stack)

Variables

static const char * source_file = __FILE__
static const char * rcs_id = "$Source: be/lno/SCCS/s.cse.cxx $ $Revision: 1.13 $"
static UINT16 equivalence_class_number
static WN_MAP Equivalence_Class_Map
static INT name = 0
static INT debug
STACK_OF_WNdelete_stack
STACK_OF_WNload_stack
STACK_OF_WNinvariant_ldid_stack
WNinsertion_point


Define Documentation

#define __STDC_LIMIT_MACROS

Definition at line 114 of file cse.cxx.


Typedef Documentation

typedef STACK<WN *> STACK_OF_WN

Definition at line 198 of file cse.cxx.


Enumeration Type Documentation

Enumerator:
EQ_NONE 
EQ_ADD 
EQ_MPY 
EQ_MIN 
EQ_MAX 
EQ_RECIP 
EQ_DIV 
EQ_RSQRT 
EQ_SQRT 
EQ_LOAD 
EQ_NONE 
EQ_ADD 
EQ_MPY 
EQ_MIN 
EQ_MAX 

Definition at line 133 of file cse.cxx.


Function Documentation

static void Add_Invariant_Deps (  )  [static]

static void Append_Wn_Pair ( STACK< WN_PAIR_EC > *  cse_stack,
WN a3,
WN b3,
INT32  eclass 
) [static]

Definition at line 600 of file cse.cxx.

References STACK< T >::Push().

Referenced by Process_Pair().

static BOOL Both_Invariant ( STACK< WN_PAIR_EC > *  cse_stack  )  [static]

void Inter_Iteration_Cses ( WN func_nd  ) 

static void Inter_Iteration_Cses_Loop ( WN loop  )  [static]

static void Inter_Iteration_Cses_R ( WN wn  )  [static]

static OPERATOR Norm_Opr ( OPERATOR  oper  )  [static]

Definition at line 335 of file cse.cxx.

References OPR_ADD, and OPR_SUB.

Referenced by Set_Up_Equivalence_Classes(), and Transform_Code().

static void Prepend_Wn_Pair ( STACK< WN_PAIR_EC > *  cse_stack,
WN a0,
WN b0,
INT32  eclass 
) [static]

static void Process_Pair ( WN a1,
WN b1,
WN a2,
WN b2,
WN loop 
) [static]

BOOL Same_Side ( WN child1,
WN parent1,
WN child2,
WN parent2 
)

Definition at line 188 of file cse.cxx.

References WN_kid0(), and WN_kid1().

Referenced by Inter_Iteration_Cses_Loop(), and Process_Pair().

static void Set_Up_Equivalence_Class ( WN wn,
OPERATOR  etype,
WN loop,
TYPE_ID  type 
) [static]

static EQUIVALENCE_TYPE Set_Up_Equivalence_Classes ( WN wn,
WN loop 
) [static]

static void Transform_Code ( STACK< WN_PAIR_EC > *  cse_stack,
WN loop,
BOOL  all_invariant 
) [static]


Variable Documentation

INT debug [static]

Definition at line 199 of file cse.cxx.

UINT16 equivalence_class_number [static]

Definition at line 202 of file cse.cxx.

Referenced by flatten_function_call(), and Instrument_Address().

Definition at line 201 of file cse.cxx.

Definition at line 200 of file cse.cxx.

Referenced by Unrolled_DU_Update().

INT name = 0 [static]

Definition at line 146 of file cse.cxx.

const char* rcs_id = "$Source: be/lno/SCCS/s.cse.cxx $ $Revision: 1.13 $" [static]

Definition at line 122 of file cse.cxx.

const char* source_file = __FILE__ [static]

Definition at line 121 of file cse.cxx.


Generated on Wed Apr 8 14:32:47 2009 for Open64 by  doxygen 1.5.6