
Last updated 15 Nov 04
~~~~~~~~~~~~~~~~~~~~~~

Critical (correctness)
~~~~~~~~~~~~~~~~~~~~~~
x86 isel for regparm'd args.  Is incorrect.  Better: consider if any
regparm'd arg might need a fixed reg to compute.  If yes, compute all
into vregs and move.  If no, compute directly into the destinations.

x86 isel: should free up all fp reg tags when calling a helper.
Also check re saving of FP registers across calls (all caller-save),
and also FPU control word.

iropt: reconsider precise exceptions

x86 guest: look at FP accuracy


Test
~~~~
Test adc/sbb carry dependency in memcheck


Optimisation opportunities
~~~~~~~~~~~~~~~~~~~~~~~~~~
Improved isel for memcheck artefacts on x86 (generate neg ; sbbl)

Assess tt_fast miss rates 

Better register allocation - spilling reduction

iropt less conservative re precise exns

improve stack-update pass

proper profiling machinery

do not CSE exprs :: Ity_Bit


JIT speedups
~~~~~~~~~~~~
Ensure incremental flatness throughout

Make sanity checker check flatness; also pass name of caller to
sanity check so as to know after which pass it fails

Profile again with memcheck

change IRTemp to 16 bits?


Integration
~~~~~~~~~~~
Get rid of sloppy-malloc

Get rid of partial-loads-ok

Optimisation after first instrumentation rather than 2nd ?

disallow dirty helpers from writing SP/IP

make instrumentation work at no optimisation

write API doc, clarify IR semantics

make IR utils module

tt/tc simplification, also profiling

generic stack pointer identification at startup?

New memstack_k: old or new sp?

Set host FPU mode before starting.  Also set Dflag = 0 

skin_panic -> tool_panic

