#include <ipa_section.h>

Public Member Functions | |
| LINEX (MEM_POOL *m) | |
| ~LINEX () | |
| mINT32 | Num_terms () const |
| TERM * | Get_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 () |
| LINEX * | Merge (LINEX *l) |
| LINEX * | Subtract (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 |
Definition at line 302 of file ipa_section.h.
| 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().

| 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 | |||
| ) |
Definition at line 492 of file ipa_section_main.cxx.
References ACTION_EQ, ACTION_LO, bzero(), c, Fail_FmtAssertion(), fprintf(), TERM::Get_coeff(), TERM::Get_desc(), Get_term(), TERM::Get_type(), Locate_symbol(), LTKIND_CONST, LTKIND_IV, LTKIND_LINDEX, LTKIND_NONE, LTKIND_SUBSCR, Num_terms(), and Print().
Referenced by Add_to_SOE(), and PROJECTED_KERNEL::Project().

| 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().

| void LINEX::Copy | ( | LINEX * | to | ) |
Definition at line 222 of file ipa_section_main.cxx.
References TERM::Get_coeff(), Get_term(), LTKIND_CONST, Num_terms(), and Set_term().
Referenced by PROJECTED_NODE::Copy(), PROJECTED_REGION::Map_to_linex_array(), PROJECTED_KERNEL::Set_Difference(), PROJECTED_NODE::Set_linexs(), and PROJECTED_NODE::Set_to_kernel_image().

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().

| void LINEX::Free_terms | ( | ) |
Definition at line 80 of file ipa_section_main.cxx.
References _larray, DYN_ARRAY< T >::Free_array(), and DYN_ARRAY< T >::Resetidx().
Referenced by PROJECTED_NODE::Fill_Out(), PROJECTED_REGION::May_Union(), PROJECTED_NODE::Reset_node(), RESHAPE::Reshape_Passed_Section(), PROJECTED_NODE::Set_linex_le(), PROJECTED_NODE::Set_to_kernel_image(), and Substitute_Lindex().

| INT LINEX::Get_constant_term | ( | ) |
Definition at line 1017 of file ipa_section_main.cxx.
References TERM::Get_coeff(), Get_term(), TERM::Get_type(), and Num_terms().
Referenced by Linearize_Shape(), PROJECTED_REGION::May_Union(), RESHAPE::Reshape_Constant_Shape(), and RESHAPE::Reshapeable_Passed_Section().

Definition at line 317 of file ipa_section.h.
References _larray.
Referenced by Add_access(), LOOPINFO::Add_bound(), Add_coupled_terms(), Copy(), Delinearize_Shape(), Dim_Length(), Equivalent(), PROJECTED_NODE::Fill_Out(), Get_constant_term(), PROJECTED_NODE::Get_constant_term(), PROJECTED_KERNEL::Init(), Is_const(), Linearize_Shape(), Loop_coeff_terms_equal(), Max(), LOOPINFO::Max_value(), PROJECTED_REGION::May_Union(), Merge(), LOOPINFO::Min_value(), Num_loop_coeff_terms(), PROJECTED_KERNEL::Project(), Remove_Zero_Terms(), RESHAPE::Reshape_Passed_Section(), Simplify(), Substitute_Lindex(), and Subtract().
| BOOL LINEX::Has_Local_Symbol | ( | ) |
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().

| 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().

| BOOL LINEX::Is_const | ( | ) |
Definition at line 300 of file ipa_section_main.cxx.
References Get_term(), LTKIND_CONST, and Num_terms().
Referenced by PROJECTED_REGION::Constant_bounds(), Dim_Length(), Max(), PROJECTED_REGION::May_Union(), PROJECTED_KERNEL::Project(), RESHAPE::Reshape_Constant_Shape(), and RESHAPE::Reshapeable_Passed_Section().

| void LINEX::LNO_Simplify | ( | IPA_LNO_READ_FILE * | IPA_LNO_File, | |
| WN * | wn_call | |||
| ) |
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().

| void LINEX::Map_access_vector | ( | ACCESS_VECTOR * | av, | |
| BOOL | Is_LNO, | |||
| IPA_LNO_READ_FILE * | IPA_LNO_File | |||
| ) |
Definition at line 258 of file ipa_section.cxx.
References Access_vector_is_too_messy(), IPA_LNO_READ_FILE::Add_Translated_Ivar(), DYN_ARRAY< T >::AddElement(), CLASS_CONST, CLASS_VAR, CONST_DESC, Formal_Position(), Get_ivar(), GLOBAL_SYMTAB, Is_True, IPA_LNO_READ_FILE::Ivar(), IPA_LNO_READ_FILE::Ivar_Count(), DYN_ARRAY< T >::Lastidx(), LTKIND_CONST, LTKIND_IV, LTKIND_LINDEX, Set_term(), ST_class(), ST_IDX_level(), ST_st_idx(), STC_val(), and Targ_To_Host().
Referenced by LOOPINFO::Build_linex(), and PROJECTED_REGION::PROJECTED_REGION().

| 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 | |||
| ) |
Definition at line 621 of file ipa_section.cxx.
References CONST_DESC, DYN_ARRAY< T >::Elements(), Fail_FmtAssertion(), LTKIND_CONST, LTKIND_IV, LTKIND_LINDEX, and Set_term().
Referenced by PROJECTED_NODE::Set_linex_eq(), PROJECTED_NODE::Set_linex_le(), and PROJECTED_NODE::Set_linexs().

Definition at line 309 of file ipa_section_main.cxx.
References TERM::Get_coeff(), Get_term(), Is_const(), Is_True, and MAX.

Definition at line 1209 of file ipa_section_main.cxx.
References _larray, bzero(), c, CONST_DESC, CXX_NEW, FmtAssert, TERM::Get_coeff(), TERM::Get_desc(), DYN_ARRAY< T >::Get_Mem_Pool(), Get_term(), TERM::Get_type(), LINEX(), LTKIND_CONST, LTKIND_IV, LTKIND_LINDEX, LTKIND_NONE, LTKIND_SUBSCR, Num_terms(), and Set_term().
Referenced by RESHAPE::Reshape_Passed_Section(), RESHAPE::Reshapeable_Passed_Section(), and PROJECTED_NODE::Set_to_kernel_image().

| 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().

| mINT32 LINEX::Num_terms | ( | ) | const [inline] |
Definition at line 315 of file ipa_section.h.
References _larray, and DYN_ARRAY< T >::Lastidx().
Referenced by Add_access(), LOOPINFO::Add_bound(), Add_coupled_terms(), Add_to_SOE(), Copy(), Equivalent(), PROJECTED_NODE::Fill_Out(), Get_constant_term(), PROJECTED_NODE::Get_constant_term(), Is_const(), Linearize_Shape(), LOOPINFO::Max_value(), Merge(), LOOPINFO::Min_value(), Num_loop_coeff_terms(), Remove_Zero_Terms(), RESHAPE::Reshape_Passed_Section(), PROJECTED_NODE::Set_to_kernel_image(), Simplify(), Substitute_Lindex(), and Subtract().

| void LINEX::Print | ( | FILE * | fp = stderr |
) |
Definition at line 300 of file ipa_section_print.cxx.
References _larray, FALSE, fprintf(), DYN_ARRAY< T >::Lastidx(), TFile, and Trace_Sections.
Referenced by Add_access(), LOOPINFO::Add_bound(), PROJECTED_NODE::Print(), LOOPINFO::Print(), PROJECTED_KERNEL::Print(), and PROJECTED_NODE::Set_linex_eq().

| void LINEX::Print_file | ( | FILE * | fp = stderr |
) |
Definition at line 289 of file ipa_section_print.cxx.
References _larray, and DYN_ARRAY< T >::Elements().

| 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().

Definition at line 356 of file ipa_section_main.cxx.
References Set_term().
Referenced by PROJECTED_NODE::Create_linex().

| void LINEX::Set_term | ( | const TERM * | term | ) | [inline] |
Definition at line 319 of file ipa_section.h.
References _larray, and DYN_ARRAY< T >::AddElement().
Referenced by Add_coupled_terms(), Copy(), Exp_To_Linex(), PROJECTED_NODE::Fill_Out(), Map_access_vector(), Map_from_SOE(), LOOPINFO::Max_value(), PROJECTED_REGION::May_Union(), Merge(), LOOPINFO::Min_value(), Projected_Region_From_St(), Remove_Zero_Terms(), PROJECTED_NODE::Set_constant_linexs(), PROJECTED_NODE::Set_constant_two_strided_section(), PROJECTED_NODE::Set_linex_eq(), PROJECTED_NODE::Set_linex_le(), Set_linex_terms(), PROJECTED_NODE::Set_linexs(), Substitute_Lindex(), and Subtract().

Definition at line 321 of file ipa_section.h.
References _larray, and DYN_ARRAY< T >::AddElement().

| void LINEX::Simplify | ( | ) |
Definition at line 1084 of file ipa_section_main.cxx.
References TERM::Get_coeff(), TERM::Get_desc(), TERM::Get_projected_level(), Get_term(), TERM::Get_type(), Num_terms(), Remove_Zero_Terms(), and TERM::Set_coeff().
Referenced by PROJECTED_REGION::May_Union(), Projected_Region_From_St(), RESHAPE::Reshapeable_Passed_Section(), PROJECTED_NODE::Simplify(), and Substitute_Lindex().

Definition at line 720 of file ipa_section.cxx.
References _larray, Free_terms(), TERM::Get_coeff(), TERM::Get_desc(), DYN_ARRAY< T >::Get_Mem_Pool(), TERM::Get_projected_level(), Get_term(), TERM::Get_type(), LTKIND_LINDEX, Num_terms(), Set_term(), and Simplify().

Definition at line 1329 of file ipa_section_main.cxx.
References _larray, bzero(), c, CONST_DESC, CXX_NEW, FmtAssert, TERM::Get_coeff(), TERM::Get_desc(), DYN_ARRAY< T >::Get_Mem_Pool(), Get_term(), TERM::Get_type(), LINEX(), LTKIND_CONST, LTKIND_IV, LTKIND_LINDEX, LTKIND_NONE, LTKIND_SUBSCR, Num_terms(), and Set_term().
Referenced by PROJECTED_REGION::May_Union(), RESHAPE::Reshapeable_Passed_Section(), and PROJECTED_KERNEL::Set_Difference().

TERM_ARRAY LINEX::_larray [private] |
Definition at line 305 of file ipa_section.h.
Referenced by Free_terms(), Get_term(), Has_loop_coeff(), LINEX(), Merge(), Num_terms(), Print(), Print_file(), Remove_Zero_Terms(), Set_term(), Substitute_Lindex(), Subtract(), and ~LINEX().
1.7.1