From cTuning.org

(Difference between revisions)
Jump to: navigation, search
m (Changed protection level for "CTools:MilepostGCC:StaticFeatures" [edit=sysop:move=sysop])
(Replacing page with '{{CMenu:CTools|}} '''List of static program features available for MILEPOST GCC:''' * [[CTools:MilepostGCC:Documentation:MILEPOST_V2.1|MILEPOST GCC V2.1] * [[CTools:MilepostG...')
Line 1: Line 1:
{{CMenu:CTools|}}
{{CMenu:CTools|}}
-
'''List of static program features available in MILEPOST GCC:'''
+
'''List of static program features available for MILEPOST GCC:'''
-
{| border="1" cellpadding="5" cellspacing="0" |
+
* [[CTools:MilepostGCC:Documentation:MILEPOST_V2.1|MILEPOST GCC V2.1]
-
|-
+
* [[CTools:MilepostGCC:Documentation:MILEPOST_V1.0|MILEPOST GCC V1.0]
-
| 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 the first version of the feature extractor for MILEPOST GCC and Grigori Fursin (INRIA) integrated it within the [[CTools:MilepostGCC|MILEPOST GCC]] and cTuning framework together with the machine learning support to predict good optimizations.
+
-
We are currently extending feature extractor to improve program characterization and mapping with beneficial optimizations.
+
-
 
+
-
* [[CTools:MilepostGCC:StaticFeatures:Extensions|Extensions (on-going)]]
+

Revision as of 01:25, 15 March 2010

Navigation: cTuning.org > CTools 

List of static program features available for MILEPOST GCC:

  • [[CTools:MilepostGCC:Documentation:MILEPOST_V2.1|MILEPOST GCC V2.1]
  • [[CTools:MilepostGCC:Documentation:MILEPOST_V1.0|MILEPOST GCC V1.0]
Locations of visitors to this page