Ryan Houdek
2975161e89
Cleanup the Frontend x86 decoder
...
Makes it easier to follow the source
2020-03-06 07:54:32 +02:00
Ryan Houdek
c2e8c8d430
Minor cleanup in BlockCache
2020-03-06 07:54:31 +02:00
Ryan Houdek
185f6c78a9
Cleans up X86Tables and removes a bunch of templates and lambdas
...
Drops compile time dramatically
2020-03-06 07:52:38 +02:00
Ryan Houdek
6dd6f83c30
[X86Tables] Fixes and implements five instruction's flags
2020-03-06 07:52:36 +02:00
Ryan Houdek
92d4aaf2e2
Partial FXSave/FXRStor instruction implementations.
2020-03-06 07:52:35 +02:00
Ryan Houdek
3e4743512d
Stub FXSave and FXRStor instructions. Necessary for launching dynamic apps from ld.so
2020-03-06 07:52:34 +02:00
Ryan Houdek
46f983fbb6
Minor fix to SHL op to not update flags if the shift amount was zero.
2020-03-06 07:52:32 +02:00
Ryan Houdek
f503bd573f
Fix CBW/CWDE/CDQE instruction storage
2020-03-06 07:52:28 +02:00
Ryan Houdek
ab63fdc6d5
Adds some missing flags on the SETcc ops
2020-03-06 07:51:55 +02:00
Ryan Houdek
065e72141a
Reenable optimization passes
...
Keep validation pass disabled for now
2020-03-06 07:51:08 +02:00
Ryan Houdek
40cad15da9
Cleanup old IR emitter functions
...
Argumentless IR emitter functions were prone to generating invalid code.
Remove them from the python emitter and change the branch instructions
that were using them to a new version instead.
Adds NumUse tracking as well.
2020-03-06 07:48:41 +02:00
Ryan Houdek
7252050e42
Initial commit
2020-03-06 07:48:39 +02:00