Commit graph

140 commits

Author SHA1 Message Date
Vincent Lejeune
082815f93e llvm: Implement trap instructions 2015-12-29 22:25:19 +01:00
Vincent Lejeune
243bc0d06e PPU/LLVM: Use interp version of some instruction for debugging purpose. 2015-12-23 17:03:01 +01:00
Vincent Lejeune
e7df81ade0 PPU/LLVM: Call fast_stop when function returns and PC corresponds 2015-12-23 17:02:56 +01:00
Vincent Lejeune
743f5f07cb llvm: Reenable debug info dump 2015-12-23 17:02:51 +01:00
Nekotekina
3ed603074c Changes done by [DH] rewritten
Added rsx_program_decompiler submodule
Added fs::dir iterator
Added fmt::match
2015-12-22 23:11:20 +03:00
Vincent Lejeune
8e451126ac llvm: Make Compiler class a module builder only class. 2015-12-06 23:51:50 +01:00
Vincent Lejeune
7ae1b51753 llvm: Remove PPULLVMRecompilerTests.cpp 2015-12-05 22:17:28 +01:00
Nekotekina
ca6783ba9a Threads improved, ID manager improved 2015-12-04 23:37:34 +03:00
O1L
c0255208cc Old ini-manager only partially used in VFS. Global configuration used as defualt. 2015-10-27 01:09:31 +04:00
Nekotekina
a974ee009e vm::var improved, cleanup
Mostly vm::var initialization introduced.
Added vm::make_var function.
2015-10-14 18:17:37 +03:00
Nekotekina
59f1077a36 Cleanup, be_t fixed
Some functions renamed:
get_ps3_function_name
execute_syscall_by_index
2015-09-22 13:28:34 +03:00
Danila Malyutin
11eeab0a1a PPU/LLVM: Added noexcept and some fixes 2015-09-19 17:09:50 +03:00
Danila Malyutin
3208a7713f PPU/LLVM: Fix for crashes on exit with jit 2015-09-19 17:09:49 +03:00
Vincent Lejeune
05c5058dfd PPU/LLVM: Remove useless call to NotifyBlockStart
Likely a rebase error, with this Metal Slug can run at 60 fps again.
2015-09-16 22:39:49 +02:00
Vincent Lejeune
c407c786cc PPU/LLVM: Do not notify already compiled block.
Also flush m_pending_address_start to avoid memory consumption
explosion.
2015-09-15 19:21:40 +02:00
Vincent Lejeune
ecb3d93918 PPU/LLVM: Remove lock in GetCompiledExecutableIfAvailable
This should increase performance a lot in some case.
2015-09-15 19:21:40 +02:00
Vincent Lejeune
667cb64c29 PPU/LLVM: Rename ProcessExecutionTrace to better reflect what it does. 2015-09-15 19:21:40 +02:00
Vincent Lejeune
359258c3d3 PPU/LLVM: Increase recompiler thread responsiveness. 2015-09-15 19:21:39 +02:00
Vincent Lejeune
9d18bba1df PPU/LLVM: Propagate exceptions
It fixes a crash in Retro City Rampage with low (ie 10) llvm threshold.
2015-09-15 19:21:39 +02:00
Vincent Lejeune
58181c5c17 PPU/LLVM: Remove indirect call completly 2015-09-01 18:58:14 +03:00
Vincent Lejeune
02a1bffc12 PPU/LLVM: Simplify trace management 2015-09-01 18:58:11 +03:00
Vincent Lejeune
f2c8db75bf PPU/LLVM: Do not recompile blocks 2015-09-01 18:58:10 +03:00
Vincent Lejeune
5fe3ea6440 PPU/LLVM: Use a big table instead of an unordered_map to get compilation result.
The hashmap overhead may be really big in some case.
2015-08-26 22:22:01 +02:00
Vincent Lejeune
241dedef4e PPU/LLVM: Properly print verification string 2015-08-26 21:54:40 +02:00
Vincent Lejeune
b2ca9edde2 PPU/LLVM: Use ExecuteFunction in ExecuteTillReturn 2015-08-26 21:54:39 +02:00
Vincent Lejeune
f81192373f PPU/LLVM: Replace magic number with opcode enum in GetBranchTypeFromInstruction. 2015-08-26 21:54:39 +02:00
Nekotekina
ce494f8847 fmt::by_value, fmt::Format removed 2015-08-24 21:22:42 +03:00
Nekotekina
15057ffc5e wtf? 2015-08-24 21:22:40 +03:00
Danila Malyutin
aeee0758c2 Ignore warnings in VS from llvm headers 2015-08-16 23:40:03 +03:00
Raul Tambre
a775b428f4 Merge pull request #1173 from vlj/llvm36-debug
Add debug options for llvm compiler
2015-08-12 17:53:49 +03:00
Raul Tambre
d10c44ed3a Merge pull request #1175 from danilaml/appveyor-cmake
Make it possible to compile rpcs3 on win via cmake and make win builds available for download on appveyor
2015-08-11 20:44:22 +03:00
Vincent Lejeune
e459d01927 PPU/LLVM: Add debug tool for LLVM recompiler 2015-08-11 18:10:32 +02:00
Vincent Lejeune
6e8a5f3a5f PPU/LLVM: Avoid recompiler thread spinning forever 2015-08-10 20:32:22 +02:00
Vincent Lejeune
53769ae1bd PPU/LLVM: Fix recursive call crashing llvm backend 2015-08-10 19:59:30 +02:00
Danila Malyutin
ddff65d288 Make it possible to build rpcs3 via cmake/vs2015 combo. 2015-08-08 04:43:08 +03:00
Vincent Lejeune
fc3314ea96 PPU/LLVM: Print PPC block before translated LLVM bytecode 2015-08-05 17:27:59 +02:00
Vincent Lejeune
8f490e8ecd PPU/LLVM: Try to fix crash (again) when cleaning modules 2015-08-01 21:56:44 +02:00
Danila Malyutin
5ae6586803 Add missing override specifiers 2015-07-26 18:37:14 +03:00
Danila Malyutin
e810eabd32 Clean up and fixes 2015-07-26 18:09:33 +03:00
Danila Malyutin
6849192b39 Tabify 2015-07-26 18:09:31 +03:00
Danila Malyutin
6832910187 Update llvm tests to work with new mcjit recomp
WIP, also found some offending instructions with it.
2015-07-26 18:09:29 +03:00
vlj
26f6b89530 PPU/LLVM: Remove duplicate m_address_to_ordinal map and improve cleaning 2015-07-22 02:11:00 +03:00
vlj
501c14fc65 PPU/LLVM: Clean code
Replace auto with real type, reduce indent and useless variables...
2015-07-22 02:10:58 +03:00
vlj
4adb9a2683 PPU/LLVM: Do not cache block 2015-07-22 02:10:57 +03:00
vlj
abd61538ea PPU/LLVM: Rename ExecutionEngine to CPUHybridDecoderRecompiler
In order to avoid naming conflict with llvm own ExecutionEngine
2015-07-22 02:10:55 +03:00
vlj
7592b87a90 PPU/LLVM: Fix build 2015-07-22 02:10:54 +03:00
Nekotekina
b3dfa4f5a2 VS2015 2015-07-22 02:10:14 +03:00
vlj
cfa0079c3d PPU/LLVM: Fix branch detection
Thanks Nekotekina for the fix
2015-07-22 01:32:19 +03:00
Vincent Lejeune
b7d5d70a92 PPU/LLVM: Fix for callback spinning undefinitly
Thanks for Nekoteki for the fix
2015-07-22 01:32:18 +03:00
Nekotekina
2f7fe35f5c Minor style change 2015-07-21 23:14:31 +03:00