Adding TODO.

This commit is contained in:
Ben Vanik 2013-01-22 00:54:49 -08:00
parent 91f9e8b7bb
commit 0aaaac2a7a
1 changed files with 60 additions and 0 deletions

60
TODO.md Normal file
View File

@ -0,0 +1,60 @@
## Instructions
```
stbu
lwzu
addx
addix
addic
addzex
subfx
subfex
subficx
mulli
mullwx
divwux
andix
orx
rlwinmx
rldiclx
extsbx
slwx
srawix
# can be no-op
dcbt
dcbtst
twi
```
## Codegen
### Indirect branches (ctr/lr)
emit_control.cc XeEmitBranchTo
Need to take the value in LR/CTR and do something with it.
Fast path:
- Every time LR would be stashed, add the value of LR (some NIA) to a lookup
table.
- When doing an indirect branch first lookup the address in the table.
- If not found, slow path, else jump.
Slow path:
- Call out and do an SDB lookup.
- If found, return, add to lookup table, and jump.
- If not found, need new function codegen!
### Caching of register values in basic blocks
Right now the SSA values seem to leak from the blocks somehow. All caching
is disabled.
```