This shows you the differences between two versions of the page.
manet:docs:attributes [2015/04/17 18:01] ppinto |
manet:docs:attributes [2019/09/22 15:47] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== MANET Join Point Attributes ====== | ||
- | This page presents the join point attributes available through MANET. After selecting a desired join point, we can use this attributes to perform detailed analyses and filter our results. | ||
- | |||
- | ^ Join Point ^ Attribute ^ Type ^ Description ^ | ||
- | | arrayAccess | name | String | The name of the array. | | ||
- | | ::: | reference | enum: {read,write} | The type of access. ''a[i]=3'' is considered a write and ''tmp=a[i]'' is considered a read. | | ||
- | | ::: | num_dims | Integer | The number of dimensions used in the array access. | | ||
- | | binaryExpression | operator | String | A string representation of the binary operator. | | ||
- | | body | num_statements | Integer | The number of statements inside the body. | | ||
- | | ::: | num_loops | Integer | The number of loops inside the body. | | ||
- | | ::: | num_for | Integer | The number of //FOR// loops inside the body. | | ||
- | | ::: | num_while | Integer | The number of //WHILE// loops inside the body. | | ||
- | | ::: | num_dowhile | Integer | The number of //DOWHILE// loops inside the body. | | ||
- | | call | name | String | The name of the function being called. | | ||
- | | ::: | num_args | Integer | The number of arguments of the function call. | | ||
- | | ::: | ID | String | A string that uniquely identifies the function call inside the program. | | ||
- | | ::: | return_type | String | A string representation of the return type of the function being called. | | ||
- | | declaration | name | String | The name of the variable being declared. | | ||
- | | ::: | is_array | Boolean | Whether the declared variable is an array. | | ||
- | | ::: | is_pointer | Boolean | Whether the declared variable is a pointer. | | ||
- | | ::: | is_struct | Boolean | Whether the declared variable is a struct. | | ||
- | | ::: | is_primitive | Boolean | Whether the declared variable is not a user-defined type. | | ||
- | | expression | num_oper | Integer | The number of operators used in the expression. | | ||
- | | ::: | num_calls | Integer | The number of function calls in the expression. | | ||
- | | ::: | is_array_access | Boolean | Whether this expression is an array access. | | ||
- | | ::: | has_side_effects| Boolean | Whether this expression has side effects. This is true when a unary operator that has side effects is used, e.g., the prefix increment operator. | | ||
- | | ::: | line | Integer | The line number where this expression is located in the original source file. | | ||
- | | file | name | String | The name of the file. | | ||
- | | function | name | String | The name of the function. | | ||
- | | ::: | return type | String | A string representation of the return type of the function. | | ||
- | | ::: | line | Integer | The line number where this fucntion is located in the original source file. | | ||
- | | if | rank | String | A string that uniquely identifies this //IF// inside the function. For instance, ''1.1'' would mean the selected //IF// is the first //IF// found inside the first of the outermost conditionals. | | ||
- | | ::: | is_loop_parent | Boolean | Whether the provided **loop** is the parent of this this if. This attribute expects an argument which must be a join point of type **loop**. It is called as if it were a function: ''$if.is_loop_parent($loop)''. | | ||
- | | ::: | is_if_parent | Boolean | Whether the provided **if** is the parent of this this if. This attribute expects an argument which must be a join point of type **if**. It is called as if it were a function: ''$if1.is_if_parent($if2)''. | | ||
- | | loop | type | enum: {for,while,do-while} | The type of the loop. | | ||
- | | ::: | ID | String | A string that uniquely identifies the function call inside the program. | | ||
- | | ::: | num_iterations | Integer | The number of iterations of the loop. If it is not possible to calculate the number of iterations of this loop, this attribute emits a warning and returns the value **-1**. | | ||
- | | ::: | increment_value | Integer | The value of the increment used in the expression step. For instance, in ''for(i=0; i<N; i=i+2)'', this value would be **2**. If it is not possible to calculate this value, this attribute emits a warning and returns the value **-1**. | | ||
- | | ::: | is_innermost | Boolean | Whether this is an innermost loop. | | ||
- | | ::: | nested_level | Integer | The nesting level of this loop. An outermost loop will have a nested level of **0** and an innermost loop will have a nested level that is equal to the number of loop ancestors. | | ||
- | | ::: | control_var | String | The name of the variable used as control. In the loop ''for(i=0; i<N; i=i+2)'', the control variable is ''i''. If it is not possible to calculate this variable, this attribute emits a warning and returns an empty string. | | ||
- | | ::: | rank | String | A string that uniquely identifies this loop inside the function. For instance, ''1.1'' would mean the selected loop is the first loop found inside the first of the outermost loops. | | ||
- | | ::: | perfect_nest | Boolean | Whether this loop and his inner loops form a perfect loop nest. | | ||
- | | ::: | is_parent | Boolean | Whether the provided **loop** is the parent of this this loop. This attribute expects an argument which must be a join point of type **loop**. It is called as if it were a function: ''$loop1.is_parent($loop2)''. | | ||
- | | ::: | line | Integer | The line number where this loop is located in the original source file. | | ||
- | | statement | line | Integer | The line number where this statement is located in the original source file. | | ||
- | | var| references| enum: {read,write,decl}| a| | ||
- | | :::| num_reads| Integer| a| | ||
- | | :::| num_writes| Integer| a| | ||
- | | :::| num_accesses| Integer| a| | ||
- | | :::| scope| enum: {local,global}| a| | ||
- | | :::| type| String| a| | ||
- | | :::| is_array| Boolean| a| | ||
- | | :::| is_pointer| Boolean| a| | ||
- | | :::| is_struct| Boolean| a| | ||
- | | :::| shape| String| a| | ||
- | | :::| size| Integer| a| | ||
- | | :::| name| String| a| | ||
- | | :::| is_arg| Boolean| a| | ||
- | | :::| in_loop_header| Boolean| a| | ||
- | | :::| is_param| Boolean| a| | ||
- | | :::| is_scalar| Boolean| a| | ||
- | | :::| has_init| Boolean| a| | ||
- | | :::| n_in| Integer| a| | ||
- | | :::| n_out| Integer| a| | ||
- | | :::| is_primitive| Boolean| a| | ||
- | | :::| line| Integer| a| |