User Tools

Site Tools


manet:docs:attributes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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| 
manet/docs/attributes.txt ยท Last modified: 2019/09/22 15:47 (external edit)