Commit Graph

8008 Commits

Author SHA1 Message Date
Henrik Rydgard
e711a47a75 Complete the separation of the IR compiler frontend from the "Jit" 2016-05-09 20:05:06 +02:00
Henrik Rydgard
e806c369b2 Separate the IR frontend from the IR "Jit" 2016-05-09 19:57:18 +02:00
Henrik Rydgard
6e44e97ffa Refactor prep: Split JitInterface into MIPSFrontendInterface and JitInterface 2016-05-09 19:41:39 +02:00
Henrik Rydgard
f50617d679 Skip const flush on set float constant 2016-05-09 18:47:53 +02:00
Unknown W. Brackets
eb6551d72a jit-ir: Correct downcount handling.
Oops, was wrong - already accounted for delay slots.  Clear so we don't
double count when emitting a syscall.

Fixes FF4 utility msg flickering.
2016-05-09 01:13:53 -07:00
Unknown W. Brackets
ccb8f8d77e jit-ir: Fix replacement hooks. 2016-05-09 00:36:38 -07:00
Unknown W. Brackets
f6d245f3c4 jit-ir: Remove redundant simplify pass.
This is just doing the same thing as the const folding pass, really.
2016-05-09 00:13:01 -07:00
Unknown W. Brackets
f638477b9a jit-ir: Add the rest to PropagateConstants.
Just for completeness.
2016-05-08 22:17:39 -07:00
Unknown W. Brackets
7ce923d01f jit-ir: Fix SetConstV.
Oops.
2016-05-08 22:11:53 -07:00
Unknown W. Brackets
6bd31ecb27 jit-ir: Flush consts better for a few f/v ops. 2016-05-08 21:37:46 -07:00
Unknown W. Brackets
5221a02db4 jit-ir: Propagate constants for shifts.
This might optimize away an IRTEMP_0 in such cases.
2016-05-08 19:11:58 -07:00
Unknown W. Brackets
a1b4b5170c jit-ir: Propagate constants even for overlaps. 2016-05-08 19:05:39 -07:00
Unknown W. Brackets
a22ff68e9e jit-ir: Skip flushing when updating PC. 2016-05-08 18:49:00 -07:00
Unknown W. Brackets
d09f3a22a8 jit-ir: Propagate single-op constants. 2016-05-08 16:21:17 -07:00
Unknown W. Brackets
0d7f151167 jit-ir: Add a utility func for applying passes. 2016-05-08 16:08:35 -07:00
Unknown W. Brackets
d19174b52b jit-ir: Skip const flush on downcount op.
This allows discarding more unused constants.
2016-05-08 14:56:43 -07:00
Henrik Rydgard
c7e4658b6d More constant propagation 2016-05-08 23:25:47 +02:00
Henrik Rydgard
d4480d50fd jit-ir: Less instructions cause flushing in constant propagation. 2016-05-08 23:25:08 +02:00
Unknown W. Brackets
5dbac165f4 Qt, gcc, and Symbian buildfixes. 2016-05-08 14:10:07 -07:00
Henrik Rydgard
4e52f613f1 Additional fixes and buildfixes 2016-05-08 22:23:51 +02:00
Henrik Rydgard
f8659b8e1e Move the IR interpreter out into its own file. Rename it in the UI. First CMake and Android fixes. 2016-05-08 22:06:13 +02:00
Henrik Rydgard
492ea5fac4 Address a bunch of comments, thanks for the review 2016-05-08 21:38:03 +02:00
Henrik Rydgard
3eb5480ade Initial VFPU 2016-05-08 13:32:22 +02:00
Henrik Rydgard
98113edbd4 More simplify pass 2016-05-08 11:29:11 +02:00
Henrik Rydgard
14df39d7c9 Fix IRTEMP clash bug. Add more cases to the constant propagation pass. 2016-05-08 10:36:37 +02:00
Henrik Rydgard
aae32bd929 ir-jit: Re-enable mult. Fix bvf/bvt 2016-05-08 02:47:19 +02:00
Henrik Rydgard
46e839b2b2 ir-jit: Fix bugs in rounding 2016-05-08 02:26:36 +02:00
Henrik Rydgard
e750987052 ir-jit: Fix bug in ext 2016-05-08 02:09:01 +02:00
Henrik Rydgard
7d4774db4c Fix wsbw 2016-05-08 02:08:25 +02:00
Henrik Rydgard
1a2edc67d0 Add support for float store/load 2016-05-08 02:03:11 +02:00
Henrik Rydgard
ce8aae5ed1 Make the IRJit core selectable in developer tools 2016-05-08 01:43:27 +02:00
Henrik Rydgard
09969c0156 Use the regcache in a new (incomplete) pass, PropagateConstants. 2016-05-08 01:06:07 +02:00
Henrik Rydgard
a33f8b68c6 ir-jit: Get rid of the regcache. Should be replaced with optimization passes. 2016-05-07 23:12:53 +02:00
Henrik Rydgard
750d520cc7 Initial work on mult and friends. Fix another bug. 2016-05-07 22:27:58 +02:00
Henrik Rydgard
3c5510e5a3 Disable debug file logging, fix issue with replacement functions, etc 2016-05-07 21:35:12 +02:00
Henrik Rydgard
38b7d89dfb Fix a performance issue in CallSyscall 2016-05-07 21:34:27 +02:00
Henrik Rydgard
12edfcea5a Enough to run cpu_alu.prx. 2016-05-07 21:00:30 +02:00
Henrik Rydgard
4acf85aa06 It's kind of starting to run 2016-05-07 17:37:19 +02:00
Henrik Rydgard
d399c4a470 Initial commit for IRJit 2016-05-07 13:58:29 +02:00
Henrik Rydgard
49a6a2f6cf Minor refactor - let's not access a global when we don't need to 2016-05-06 21:22:36 +02:00
Unknown W. Brackets
9280bb3eda Merge pull request #8715 from unknownbrackets/tex-replace
Initial texture replacement support
2016-05-01 09:58:16 -07:00
Unknown W. Brackets
2e1986d0c8 Fix a few reorder warnings. 2016-05-01 09:50:03 -07:00
Henrik Rydgård
b6d7aab8dc Merge pull request #8716 from hrydgard/remove-preprocessor-hacks
Remove preprocessor hacks around the JITs
2016-05-01 18:47:59 +02:00
Henrik Rydgard
ccce19e14a Fix accidentally truncated comment. 2016-05-01 18:47:32 +02:00
Unknown W. Brackets
994d2dd85e Skip video in replacement saving by default. 2016-05-01 08:58:14 -07:00
Unknown W. Brackets
c20075b0e0 Pass video info to texture replacements. 2016-05-01 08:54:43 -07:00
Unknown W. Brackets
f5b93bc6f0 Remove global num videos hack. 2016-05-01 08:53:48 -07:00
Unknown W. Brackets
329be68f57 Fix error when disabled.
We want to return a reference here, so let's always return.
2016-05-01 08:04:15 -07:00
Henrik Rydgård
e91fc59bbe Merge pull request #8693 from sum2012/pmp-video
Temporarily disable PMP video for non-windows
2016-05-01 11:49:55 +02:00
Henrik Rydgard
ffe4c266ef Add CodeBlockCommon base class to remove further arch-specificity in JitBlockCache
Remove unused ArmThunk.
2016-05-01 11:40:00 +02:00