From cTuning.org
(Difference between revisions)
| Line 174: | Line 174: | ||
|} | |} | ||
| - | Mircea Namolaru (IBM) | + | Mircea Namolaru (IBM) developed this feature extractor for MILEPOST GCC and is currently extending it to improve program characterization and mapping with optimizations. |
Revision as of 05:29, 23 April 2009
Navigation: cTuning.org > CTools
List of static program features available in MILEPOST GCC:
| ft1 | Number of basic blocks in the method |
| ft2 | Number of basic blocks with a single successor |
| ft3 | Number of basic blocks with two successors |
| ft4 | Number of basic blocks with more then two successors |
| ft5 | Number of basic blocks with a single predecessor |
| ft6 | Number of basic blocks with two predecessors |
| ft7 | Number of basic blocks with more then two predecessors |
| ft8 | Number of basic blocks with a single predecessor and a single successor |
| ft9 | Number of basic blocks with a single predecessor and two successors |
| ft10 | Number of basic blocks with a two predecessors and one successor |
| ft11 | Number of basic blocks with two successors and two predecessors |
| ft12 | Number of basic blocks with more then two successors and more then two predecessors |
| ft13 | Number of basic blocks with number of instructions less then 15 |
| ft14 | Number of basic blocks with number of instructions in the interval [15, 500] |
| ft15 | Number of basic blocks with number of instructions greater then 500 |
| ft16 | Number of edges in the control flow graph |
| ft17 | Number of critical edges in the control flow graph |
| ft18 | Number of abnormal edges in the control flow graph |
| ft19 | Number of direct calls in the method |
| ft20 | Number of conditional branches in the method |
| ft21 | Number of assignment instructions in the method |
| ft21 | Number of unconditional branches in the method |
| ft22 | Number of binary integer operations in the method |
| ft23 | Number of binary floating point operations in the method |
| ft24 | Number of instructions in the method |
| ft25 | Average of number of instructions in basic blocks |
| ft26 | Average of number of phi-nodes at the beginning of a basic block |
| ft27 | Average of arguments for a phi-node |
| ft28 | Number of basic blocks with no phi nodes |
| ft29 | Number of basic blocks with phi nodes in the interval [0, 3] |
| ft30 | Number of basic blocks with more then 3 phi nodes |
| ft31 | Number of basic block where total number of arguments for all phi-nodes is in greater then 5 |
| ft32 | Number of basic block where total number of arguments for all phi-nodes is in the interval [1, 5] |
| ft33 | Number of switch instructions in the method |
| ft34 | Number of unary operations in the method |
| ft35 | Number of instruction that do pointer arithmetic in the method |
| ft36 | Number of indirect references via pointers ("*" in C) |
| ft37 | Number of times the address of a variables is taken ("\&" in C) |
| ft38 | Number of times the address of a function is taken ("\&" in C) |
| ft39 | Number of indirect calls (i.e. done via pointers) in the method |
| ft40 | Number of assignment instructions with the left operand an integer constant in the method |
| ft41 | Number of binary operations with one of the operands an integer constant in the method |
| ft42 | Number of calls with pointers as arguments |
| ft42 | Number of calls with the number of arguments is greater then 4 |
| ft44 | Number of calls that return a pointer |
| ft45 | Number of calls that return an integer |
| ft46 | Number of occurrences of integer constant zero |
| ft47 | Number of occurrences of 32-bit integer constants |
| ft48 | Number of occurrences of integer constant one |
| ft49 | Number of occurrences of 64-bit integer constants |
| ft50 | Number of references of a local variables in the method |
| ft51 | Number of references (def/use) of static/extern variables in the method |
| ft52 | Number of local variables referred in the method |
| ft53 | Number of static/extern variables referred in the method |
| ft54 | Number of local variables that are pointers in the method |
| ft55 | Number of static/extern variables that are pointers in the method |
Mircea Namolaru (IBM) developed this feature extractor for MILEPOST GCC and is currently extending it to improve program characterization and mapping with optimizations.