TODO/Wishlist Items
===================

Support for KCachegrind in Calltree
-----------------------------------

WISHS:
- store more details of calltree
  - for every function call: executed from shared lib
    (Not needed, if function names are unique in whole app)
  - adaptive call chain context (Really needed ? MUCH Data!)
- dump at
  - breakpoints
  - watchpoints (with data tracing!)
  - every xxx BBs (DONE)
- dump around
  - function invocation (DONE)
  - KAction event
  - DCOP event

- data accesses from (instr address/count)
  stack:   -> (function, stackframe-offset)
  dynamic: -> (mem region start, [type], offset)
              type can be get when a constructor is called for region
  static:  -> (mem region start, type, offset)

* Generate full instr/data access trace for offline analysis.

* Appending mode

* Regions:
  Extension for position spec in cost lines: <from>:<till> or <from>+<size>
  And: "rg=<exeCount> <name>\n<RangeSpec> <Incl.Cost>"

* Basic Block info like region info + jmp/jcd => flow graph



KCachegrind
-----------

All cost Lists:
* "Copy from Top" converts lists into ASCII, puts into clipboard

Costs:
* comparation of part sets (2 sets)

Layout:
* 1/2/3/4 vertical/horizontal FunctionInfos
  with Shift/Wraparound selection mode
* Arrangement Management (not view options, but only layout)
  - Start with default Arrangement (at beginning only 1)
  - Every Layout Change will be stored in current Arrangement
  - New Arrangement: Copies Current
  - Delete Arrangement: Select Previous
  - Ctrl+Left/Right: Circle trough Arrangements, Ctrl+1/2/3/..: Select
  - Set to default/Add current to default/Restore default 
  - Minimized Screenshots?

General:
* Selected Item can be an object/file/class/function/line
* Configuration Dlg
 - Local config (?)
 - Cost Types
 - function colors
 - Try to reload source after config.
* Session Management

Function Selection:
* "Change Column" to last Sorting (Positions Up/Down)

Source view:
* Implicit jumps (green)

Instruction View:
* Addresses 64bit (DONE)

Annotation Views:

 BUGS:
  * Draw problem with multiple srcs to one target
  * REP case...

 TODO:
  * Selectable Jumps (Arrows)
  * Tooltip for Jumps (Kind, from/to, jump count)
  * Show direction (arrows) on jump lines

 Source view TODO:
  * Implicit jumps (green) [needs support from the tool?]



Callgraph:
* Correct Keyboard navigation (how?)
* Fix Arrows for back-arcs
* Less "Jumps" for minimap

Types:
* Ratios
* Automatic subtypes

WISHS:
* Support for Data tracing
  Which variables are touched how often from which function?
  - Some graphical visualisation...

* GCC -pg (gmon.out) as Profiling Backend
* Demangler (use c++filt)
* Calculation of call weights (if not given)
* OProfile (Converter DONE), DynaProf

Support for KCachegrind in Calltree
-----------------------------------

WISHS:
- store more details of calltree
  - for every function call: executed from shared lib
    (Not needed, if function names are unique in whole app)
  - adaptive call chain context (Really needed ? MUCH Data!)
- dump at
  - breakpoints
  - watchpoints (with data tracing!)
  - every xxx BBs (DONE)
- dump around
  - function invocation
  - KAction event
  - DCOP event

- data accesses from (instr address/count)
  stack:   -> (function, stackframe-offset)
  dynamic: -> (mem region start, [type], offset)
              type can be get when a constructor is called for region
  static:  -> (mem region start, type, offset)

* Generate full instr/data access trace for offline analysis.

* Appending mode
