Commit graph

42 commits

Author SHA1 Message Date
S Gopal Rajagopal
5c468d7591 Disabled call stack tracing when using the PPU LLVM recompiler 2014-11-09 11:50:01 +05:30
S Gopal Rajagopal
80294e1034 Fixed some bugs 2014-11-09 02:00:19 +05:30
S Gopal Rajagopal
34e34910fd Integrated execution engine, tracer, recompilation engine and compiler 2014-11-08 09:52:23 +05:30
S Gopal Rajagopal
ee6a239679 Generate code from a CFG 2014-11-07 16:24:59 +05:30
S Gopal Rajagopal
7c3c5ae08e Construct CFG from execution traces 2014-11-05 01:01:20 +05:30
S Gopal Rajagopal
7846fa5829 Made changes to tracer so that it understand compiled blocks 2014-11-01 01:22:39 +05:30
S Gopal Rajagopal
160b58cf61 Fixed compilation issues 2014-10-25 06:56:57 +05:30
S Gopal Rajagopal
6bc0ce8046 Intial commit for advanced tracer 2014-10-25 06:38:47 +05:30
raven02
20a5bf424f Support FSQRT/FSQRTS instructions 2014-10-21 22:20:52 +08:00
S Gopal Rajagopal
4514fc12bd Updated Travis CI configuration to compile LLVM 2014-10-21 02:17:00 +05:30
S Gopal Rajagopal
024c15d4d3 Some cleanup 2014-10-20 01:16:35 +05:30
S Gopal Rajagopal
ce4d04290e Support more instructions 2014-10-19 01:57:54 +05:30
S Gopal Rajagopal
35a0e0c625 Support more instructions 2014-10-16 15:28:57 +05:30
S Gopal Rajagopal
b95cddb0c7 Fix compilation errors caused by rebase 2014-10-14 14:23:50 +05:30
S Gopal Rajagopal
cd154ad357 Support more instructions 2014-10-13 15:40:42 +05:30
S Gopal Rajagopal
143f542bd6 Fixed some bugs 2014-10-13 15:40:42 +05:30
S Gopal Rajagopal
9c99fc7bb1 Disabled unit tests 2014-10-13 15:40:41 +05:30
S Gopal Rajagopal
3e7d42b023 Support some instructions 2014-10-13 15:40:41 +05:30
S Gopal Rajagopal
1bd235616f Implemented branch instructions and some basic block combining. 2014-10-13 15:40:40 +05:30
gopalsr83
d5e86f7190 Fixed compilation in Linux. Have not tested it though. 2014-10-13 15:40:39 +05:30
S Gopal Rajagopal
f210180aa6 Disabled the use of BMI instructions since older processors do not support it 2014-10-13 15:40:39 +05:30
S Gopal Rajagopal
e687a91243 Implemented some FP instructions but did not add support for updating the FPSCR. Many misc changes. 2014-10-13 15:40:38 +05:30
S Gopal Rajagopal
ccc37b5dc5 Print disassembly to log 2014-10-13 15:40:38 +05:30
S Gopal Rajagopal
c72d97c64a Implemented LF*, STF*, RL* and a few more instructions 2014-10-13 15:30:58 +05:30
S Gopal Rajagopal
e485047a10 Enabled some LLVM analysis/transform passes
Implement mul, neg, nor, subf
2014-10-13 15:26:10 +05:30
S Gopal Rajagopal
d69de9c332 Fixed some bugs that prevented the recompiler from terminating properly 2014-10-13 15:26:09 +05:30
S Gopal Rajagopal
840ae2f86b Run recompilation in the background 2014-10-13 15:26:09 +05:30
S Gopal Rajagopal
1f3a117744 Disabled tests 2014-10-13 15:26:08 +05:30
S Gopal Rajagopal
f5188cdb32 Some refactoring. Added support for some load/store instructions. 2014-10-13 15:26:08 +05:30
S Gopal Rajagopal
1be5222e66 Made changes so that there is a single LLVM context instead of one per PPU. If separate LLVM contexts are used per PPU and if different PPUs execute the same address then the address will have to compiled once per PPU. 2014-10-13 15:26:07 +05:30
S Gopal Rajagopal
a4bb9eaa55 Made changes so that the recompiler output may be verfied against that of the interpreter. This seems to be a better strategy for testing the recompiler. The best strategy would be to verify its output against a real PPU core but I dont have access to one. 2014-10-13 15:26:07 +05:30
S Gopal Rajagopal
791f8e3b9a Compilation Fix 2014-10-13 15:25:02 +05:30
S Gopal Rajagopal
6135b450c2 Implemented fallback to PPU Interpreter 2014-10-13 15:22:39 +05:30
S Gopal Rajagopal
aa614e83f2 Refactoring + new instructions 2014-10-13 15:22:39 +05:30
S Gopal Rajagopal
878926f57c Support few more instructions 2014-10-13 15:22:38 +05:30
S Gopal Rajagopal
ac86ee8fa9 Added support for MULLI 2014-10-13 15:22:38 +05:30
S Gopal Rajagopal
eaa644dc20 Added support for a few more vector instructions 2014-10-13 15:22:37 +05:30
S Gopal Rajagopal
d8d0c0d2fe Added support for 3 more instructions 2014-10-13 15:21:25 +05:30
S Gopal Rajagopal
659a3d88c6 Added more tests 2014-10-13 15:21:24 +05:30
S Gopal Rajagopal
66d0b25448 Moved tests to a new file 2014-10-13 15:21:24 +05:30
S Gopal Rajagopal
2ea881301a Implemented a basic UT framework for PPULLVMRecompiler 2014-10-13 15:18:53 +05:30
S Gopal Rajagopal
2bb63ad051 LLVM based PPU Recompiler. Intial commit 2014-10-13 15:18:17 +05:30