Commit Graph
27588 Commits
Author SHA1 Message Date
Henrik Rydgard 28087a6088 IRFrontend shouldn't know about IRBlock 2016-05-09 20:18:22 +02:00
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
Henrik Rydgård b1a180d9fb Merge pull request #8731 from unknownbrackets/ir-jit
jit-ir: Correct downcount handling
2016-05-09 10:42:26 +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
Henrik Rydgård dee2a7e651 Merge pull request #8727 from unknownbrackets/ir-jit
Apply more constant propagation to IR
2016-05-09 10:05:53 +02: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 52517ab609 Fix the fix 2016-05-08 22:32:08 +02:00
Henrik Rydgard ed0a0378d7 Another buildfix 2016-05-08 22:27:20 +02: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 Rydgård 2c84411426 Merge pull request #8720 from unknownbrackets/tex-range
Move texture decode/hash to after vertex decode
2016-05-07 22:15:19 +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 Rydgård 98f2ceed59 Merge pull request #8723 from unknownbrackets/tex-replace
Avoid scheduling a rescale when scaling is off for the texture
2016-05-07 09:37:42 +02:00
Henrik Rydgård 5309d825c1 Merge pull request #8722 from unknownbrackets/vulkan-alloc
Allocate more samplers in Vulkan, other fixes
2016-05-07 09:32:31 +02:00
Unknown W. Brackets 4b89f44d1c Avoid scheduling a rescale when scaling is off.
This happens for PPGe and kernel textures, and replacements.  Before, we
would continually reload, trying to scale, but each time decide not to
scale.
2016-05-06 19:58:01 -07:00
Unknown W. Brackets 4650a288cd Vulkan: Fix auto tex scaling reload. 2016-05-06 19:54:50 -07:00
Unknown W. Brackets 844d96f055 Vulkan: Free allocator safely on exit. 2016-05-06 19:52:46 -07:00