PIPS
top_down_abc_context_t Struct Reference

The following data structure is the context of top_down_abc: The read_marked_list marks if one bound of one array's dimension is tested or not, for the READ regions. More...

+ Collaboration diagram for top_down_abc_context_t:

Data Fields

abc_checked read_marked_list
 
abc_checked write_marked_list
 
hash_table read_saved_list
 
hash_table write_saved_list
 
hash_table statement_check_list
 
persistant_statement_to_control map
 
stack uns
 

Detailed Description

The following data structure is the context of top_down_abc: The read_marked_list marks if one bound of one array's dimension is tested or not, for the READ regions.


            TOP-DOWN ARRAY BOUND CHECK VERSION

This phase is based on the array region analyses Different strategies :

  1. When a bounds violation is detected, we generate a STOP statement and we don't go down anymore => difficult for debugging all the program's error => finish as soon as possible
  2. Generate comments for errors and warnings => convenient for debugging => can not detect bounds violation for dynamic tests with generated code
  3. Test and STOP statement every where => the {0==1} every where , not very intelligent ?

The first strategy is implemented for this moment

Hypotheses : there is no write effect on the array bound expression.

There was a test for write effect on bound here but I put it away (in effect_on_array_bound.c) because it takes time to calculate the effect but in fact this case is rare The write_marked_list marks if one bound of one array's dimension is tested or not, for the WRITE regions. The saved list keeps the status before go down in the tree. The hash table statement_check_list associates each statement with its list of checks for each bound of array's dimension

Definition at line 90 of file array_bound_check_top_down.c.

Field Documentation

◆ map

persistant_statement_to_control top_down_abc_context_t::map

Definition at line 97 of file array_bound_check_top_down.c.

◆ read_marked_list

abc_checked top_down_abc_context_t::read_marked_list

Definition at line 92 of file array_bound_check_top_down.c.

◆ read_saved_list

hash_table top_down_abc_context_t::read_saved_list

Definition at line 94 of file array_bound_check_top_down.c.

◆ statement_check_list

hash_table top_down_abc_context_t::statement_check_list

Definition at line 96 of file array_bound_check_top_down.c.

◆ uns

stack top_down_abc_context_t::uns

Definition at line 98 of file array_bound_check_top_down.c.

◆ write_marked_list

abc_checked top_down_abc_context_t::write_marked_list

Definition at line 93 of file array_bound_check_top_down.c.

◆ write_saved_list

hash_table top_down_abc_context_t::write_saved_list

Definition at line 95 of file array_bound_check_top_down.c.


The documentation for this struct was generated from the following file: