#include "dvector.h"

Go to the source code of this file.
Functions/Subroutines | |
| DEP | DEP_SetDirection (DIRECTION direction) |
| DEP | DEP_UnionDirection (DEP dep, DIRECTION direction) |
| DEP | DEP_Negate (DEP dep) |
| DEP | DEP_SetDistance (INT32 distance) |
| void | DIRECTION_Print (DIRECTION dir, FILE *fp) |
| void | DEP_Print (const DEP dep, FILE *fp) |
| void | DEP_PrintBound (const DEP dep, FILE *fp) |
| DEPV * | DEPV_Create (MEM_POOL *mem_pool, UINT8 num_dim) |
| DEPV * | DEPV_CreateStar (MEM_POOL *mem_pool, UINT8 num_dim) |
| DEPV * | DEPV_CreateEqual (MEM_POOL *mem_pool, UINT8 num_dim) |
| DEPV * | DEPV_Copy (MEM_POOL *mem_pool, DEPV *depv, UINT8 num_dim) |
| void | DEPV_Print (const DEPV *depv, FILE *fp, UINT8 num_dim) |
| void | DEPV_PrintBound (const DEPV *depv, FILE *fp, UINT8 num_dim) |
| void | DEP_Lex_Pos_Decompose (DEP dep, MEM_POOL *pool, DEP **pos, DEP **neg, BOOL keep_pos_equals, BOOL keep_neg_equals) |
| DEP | DEP_Lex_Pos_Compose (DEP *pos, DEP *neg, BOOL *pos_has_eq, BOOL *neg_has_eq) |
Definition at line 346 of file dvector.cxx.
References DEP_Direction(), DEP_Negate(), DEP_UnionDirection(), DIR_EQ, DIR_POSEQ, FALSE, Is_True, and TRUE.
| void DEP_Lex_Pos_Decompose | ( | DEP | dep, | |
| MEM_POOL * | pool, | |||
| DEP ** | pos, | |||
| DEP ** | neg, | |||
| BOOL | keep_pos_equals, | |||
| BOOL | keep_neg_equals | |||
| ) |
Definition at line 279 of file dvector.cxx.
References DEP, DEP_Direction(), DEP_Negate(), DEP_SetDirection(), DIR_EQ, DIR_NEG, DIR_NEGEQ, DIR_POS, DIR_POSEQ, DIR_POSNEG, DIR_STAR, NULL, and TYPE_MEM_POOL_ALLOC.
Definition at line 131 of file dvector.cxx.
References DEP, DEP_Direction(), DEP_Distance(), DEP_IsDistance(), DEP_MAKE_DIST_NON_CONST_PRIVATE(), DEP_SET_DIR_PRIVATE(), DEP_SET_DIST_PRIVATE(), DEP_SetDistance(), DIR_NEG, DIR_NEGEQ, DIR_POS, DIR_POSEQ, and tmp.
Referenced by DEP_Lex_Pos_Compose(), DEP_Lex_Pos_Decompose(), Lex_Pos_Compose(), DEPV_NODE::Lex_Pos_Decompose(), DEPV_NODE::Normalize_Step(), and RV_Reverse_Dependence().
Definition at line 197 of file dvector.cxx.
References DEP_Direction(), DEP_Distance(), DEP_IsDistance(), DIRECTION_Print(), and fprintf().
Referenced by DEPV_Print(), and ARRAY_DIRECTED_GRAPH16::Print().
Definition at line 203 of file dvector.cxx.
References DEP_DistanceBound(), fprintf(), and INT32.
Referenced by DEPV_PrintBound().
Dependence Vectors -------------------
Description:
This is the basic data structure used to represent loop dependences. A dependence vector is an array of dependences, one for each enclosing do loop. Each dependence is a mixed distance direction: i.e. either a constant integer or a union of directions.
See dvector.h for exported routines
Definition at line 88 of file dvector.cxx.
References DEP, DEP_MAKE_DIST_NON_CONST_PRIVATE(), DEP_SET_DIR_PRIVATE(), DEP_SET_DIST_PRIVATE(), DEP_SetDistance(), DIR_EQ, DIR_NEG, and DIR_POS.
Referenced by Add_Invariant_Deps(), DEPV_LIST::Append(), DEPV_NODE::Blockable_Part(), DEPV_COMPUTE::Compute_Dep_Vectors(), SNL_DEP::Dep(), DEP_Lex_Pos_Decompose(), Depv_Collapse(), DEPV_CreateEqual(), DEPV_CreateStar(), Direction_Union(), DEPV_LIST::Eliminate_Non_Distance_Carried_By(), SNL_ANAL_INFO::Enter_Deps(), DEPV_COMPUTE::Find_Init_Distance_Used(), DEPV_NODE::Lex_Pos_Decompose(), DEPV_NODE::Normalize_Step(), SNL_Update_Strip_Dependence(), Split_Array(), and Transform_Code().
Definition at line 157 of file dvector.cxx.
References DEP, DEP_MAKE_DIST_CONST_PRIVATE(), DEP_MAKE_DIST_NON_CONST_PRIVATE(), DEP_SET_DIR_PRIVATE(), DEP_SET_DIST_PRIVATE(), DIR_EQ, DIR_NEG, DIR_POS, MAX_BOUND_PRIVATE, MAX_DISTANCE_PRIVATE, and MIN_DISTANCE_PRIVATE.
Referenced by SNL_DEP::Dep(), DEP_Negate(), DEP_SetDirection(), DEPV_LIST::Eliminate_Inner_Carried(), SNL_ANAL_INFO::Enter_Deps(), Extend_Dep_Vectors(), DEPV_COMPUTE::Find_Init_Distance_Used(), DEPV_NODE::Normalize_Step(), SNL_Update_Strip_Dependence(), and Transform_Code().
Definition at line 110 of file dvector.cxx.
References DEP_Direction(), DEP_MAKE_DIST_NON_CONST_PRIVATE(), DEP_SET_DIST_PRIVATE(), DIR_EQ, DIR_NEG, DIR_POS, and mINT16.
Referenced by DEPV_LIST::Convert_To_Dep(), Create_DEPV_ARRAY(), DEP_Lex_Pos_Compose(), Direction_Union(), get_mem_dep(), DEPV_ARRAY::Shorten_To_Dep(), and DEPV_ARRAY::Union().
Definition at line 242 of file dvector.cxx.
References DEP, i, INT, result, and TYPE_MEM_POOL_ALLOC_N.
Referenced by DEPV_LIST::Append(), DEPV_NODE::Blockable_Part(), DEPV_COMPUTE::Compute(), DEPV_COMPUTE::Compute_Dep_Vectors(), DEPV_LIST::DEPV_LIST(), DEPV_LIST::Eliminate_Non_Distance_Carried_By(), and DEPV_NODE::Lex_Pos_Decompose().
Definition at line 209 of file dvector.cxx.
References DEP, and TYPE_MEM_POOL_ALLOC_N.
Referenced by DEPV_LIST::Append(), DEPV_COMPUTE::Compute(), Create_DEPV_ARRAY(), Depv_Collapse(), SNL_DEP_INFO::Enter(), and Split_Array().
Definition at line 230 of file dvector.cxx.
References DEP, DEP_SetDirection(), DIR_EQ, i, INT, and TYPE_MEM_POOL_ALLOC_N.
Referenced by DEPV_COMPUTE::Compute().
Definition at line 218 of file dvector.cxx.
References DEP, DEP_SetDirection(), DIR_STAR, i, INT, and TYPE_MEM_POOL_ALLOC_N.
Referenced by DEPV_COMPUTE::Compute().
Definition at line 256 of file dvector.cxx.
References DEP_Print(), DEPV_Dep, fprintf(), i, and INT.
Referenced by DEPV_COMPUTE::Compute_Dep_Vectors(), DEPV_NODE::Print(), LAT_DIRECTED_GRAPH16::Print(), and DEPV_ARRAY::Print().
Definition at line 267 of file dvector.cxx.
References DEP_PrintBound(), DEPV_Dep, fprintf(), i, and INT.
Definition at line 183 of file dvector.cxx.
References DIR_EQ, DIR_NEG, DIR_NEGEQ, DIR_POS, DIR_POSEQ, DIR_POSNEG, DIR_STAR, fprintf(), and Is_True.
Referenced by DEP_Print().
1.5.6