Public Member Functions | Private Attributes

LINEX Class Reference

#include <ipa_section.h>

Collaboration diagram for LINEX:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 LINEX (MEM_POOL *m)
 ~LINEX ()
mINT32 Num_terms () const
TERMGet_term (INT32 idx) const
void Set_term (const TERM *term)
void Set_term (LTKIND kind, COEFF coeff, DESCR descr, mUINT8 level)
void Set_linex_terms (INT start_index, INT end_index, TERM *term)
INT Get_constant_term ()
void Copy (LINEX *to)
BOOL Loop_coeff_terms_equal (LINEX *l)
INT Num_loop_coeff_terms ()
BOOL Has_loop_coeff (INT i)
void Add_access (SYSTEM_OF_EQUATIONS *soe, mUINT8 depth, INT num_dim, INT axle, INT num_syms, ACTION_TYPE act, LOOP_SYMBOL_ARRAY *sym, BOOL trace)
void Print (FILE *fp=stderr)
void Print_file (FILE *fp=stderr)
void Map_access_vector (ACCESS_VECTOR *av, BOOL Is_LNO, IPA_LNO_READ_FILE *IPA_LNO_File)
void Map_from_SOE (const SYSTEM_OF_EQUATIONS *soe, INT i, const LOOP_SYMBOL_ARRAY *syms, INT depth, INT dim, INT which_array, BOOL is_lower_bound)
void Free_terms ()
BOOL Equivalent (LINEX &b)
INT Max (LINEX *l)
BOOL Is_const ()
LINEXMerge (LINEX *l)
LINEXSubtract (LINEX *l)
void Init (MEM_POOL *m)
void Add_coupled_terms (LINEX *from)
void Simplify ()
void LNO_Simplify (IPA_LNO_READ_FILE *IPA_LNO_File, WN *wn_call)
void Substitute_Lindex (INT lindex, LINEX *lx_substitute)
void Remove_Zero_Terms ()
BOOL Has_Local_Symbol ()

Private Attributes

TERM_ARRAY _larray

Detailed Description

Definition at line 302 of file ipa_section.h.


Constructor & Destructor Documentation

LINEX::LINEX ( MEM_POOL m  )  [inline]

Definition at line 309 of file ipa_section.h.

References _larray.

Referenced by Init(), Merge(), and Subtract().

LINEX::~LINEX (  )  [inline]

Definition at line 312 of file ipa_section.h.

References _larray, and DYN_ARRAY< T >::Free_array().

Here is the call graph for this function:


Member Function Documentation

void LINEX::Add_access ( SYSTEM_OF_EQUATIONS *  soe,
mUINT8  depth,
INT  num_dim,
INT  axle,
INT  num_syms,
ACTION_TYPE  act,
LOOP_SYMBOL_ARRAY sym,
BOOL  trace 
)
void LINEX::Add_coupled_terms ( LINEX from  ) 

Definition at line 436 of file ipa_section.cxx.

References Fail_FmtAssertion(), Get_term(), TERM::Get_type(), LTKIND_CONST, LTKIND_IV, LTKIND_LINDEX, LTKIND_NONE, LTKIND_SUBSCR, Num_terms(), and Set_term().

Here is the call graph for this function:

void LINEX::Copy ( LINEX to  ) 
BOOL LINEX::Equivalent ( LINEX b  ) 

Definition at line 324 of file ipa_section_main.cxx.

References TERM::Equivalent(), Get_term(), and Num_terms().

Referenced by PROJECTED_NODE::Equivalent(), PROJECTED_NODE::Matching_Segment_Stride(), and PROJECTED_REGION::May_Union().

Here is the call graph for this function:

void LINEX::Free_terms (  ) 
INT LINEX::Get_constant_term (  ) 
TERM* LINEX::Get_term ( INT32  idx  )  const [inline]
BOOL LINEX::Has_Local_Symbol (  ) 
BOOL LINEX::Has_loop_coeff ( INT  i  ) 

Definition at line 391 of file ipa_section.cxx.

References _larray, TERM::Get_desc(), TERM::Get_type(), and DYN_ARRAY< T >::Lastidx().

Referenced by PROJECTED_REGION::Project().

Here is the call graph for this function:

void LINEX::Init ( MEM_POOL m  ) 

Definition at line 452 of file ipa_section_main.cxx.

References LINEX().

Referenced by PROJECTED_NODE::Init(), and PROJECTED_KERNEL::Set_Difference().

Here is the call graph for this function:

BOOL LINEX::Is_const (  ) 
void LINEX::LNO_Simplify ( IPA_LNO_READ_FILE IPA_LNO_File,
WN wn_call 
)
BOOL LINEX::Loop_coeff_terms_equal ( LINEX l  ) 

Definition at line 363 of file ipa_section.cxx.

References FALSE, FmtAssert, TERM::Get_coeff(), TERM::Get_desc(), Get_term(), TERM::Get_type(), and Num_loop_coeff_terms().

Referenced by PROJECTED_REGION::PROJECTED_REGION().

Here is the call graph for this function:

void LINEX::Map_access_vector ( ACCESS_VECTOR *  av,
BOOL  Is_LNO,
IPA_LNO_READ_FILE IPA_LNO_File 
)
void LINEX::Map_from_SOE ( const SYSTEM_OF_EQUATIONS *  soe,
INT  i,
const LOOP_SYMBOL_ARRAY syms,
INT  depth,
INT  dim,
INT  which_array,
BOOL  is_lower_bound 
)
INT LINEX::Max ( LINEX l  ) 

Definition at line 309 of file ipa_section_main.cxx.

References TERM::Get_coeff(), Get_term(), Is_const(), Is_True, and MAX.

Here is the call graph for this function:

LINEX * LINEX::Merge ( LINEX l  ) 
INT LINEX::Num_loop_coeff_terms (  ) 

Definition at line 348 of file ipa_section.cxx.

References Get_term(), TERM::Get_type(), and Num_terms().

Referenced by Loop_coeff_terms_equal().

Here is the call graph for this function:

mINT32 LINEX::Num_terms (  )  const [inline]
void LINEX::Print ( FILE *  fp = stderr  ) 
void LINEX::Print_file ( FILE *  fp = stderr  ) 

Definition at line 289 of file ipa_section_print.cxx.

References _larray, and DYN_ARRAY< T >::Elements().

Here is the call graph for this function:

void LINEX::Remove_Zero_Terms (  ) 

Definition at line 1050 of file ipa_section_main.cxx.

References _larray, CONST_DESC, DYN_ARRAY< T >::Decidx(), TERM::Get_coeff(), Get_term(), LTKIND_CONST, Num_terms(), and Set_term().

Referenced by Simplify().

Here is the call graph for this function:

void LINEX::Set_linex_terms ( INT  start_index,
INT  end_index,
TERM term 
)

Definition at line 356 of file ipa_section_main.cxx.

References Set_term().

Referenced by PROJECTED_NODE::Create_linex().

Here is the call graph for this function:

void LINEX::Set_term ( const TERM term  )  [inline]
void LINEX::Set_term ( LTKIND  kind,
COEFF  coeff,
DESCR  descr,
mUINT8  level 
) [inline]

Definition at line 321 of file ipa_section.h.

References _larray, and DYN_ARRAY< T >::AddElement().

Here is the call graph for this function:

void LINEX::Simplify (  ) 
void LINEX::Substitute_Lindex ( INT  lindex,
LINEX lx_substitute 
)
LINEX * LINEX::Subtract ( LINEX l  ) 

Member Data Documentation


The documentation for this class was generated from the following files: