Tyler Wilding
cdce4d9612
compiler: Support the majority of the remaining VU VF instructions ( #258 )
...
* compiler: Support the majority of the remaining VU VF instructions
- VWAIT
- VMADD variants
- VMSUB variants
- VSQRT
- VDIV
- outer product (VOPMULA + VOPMSUB)
* compiler: Fix some bugs / optimize some instructions
* tests/compiler: Add test coverage for new instructions
* docs: Add documentation for new inline assembly functions
* lint: Formatting / fix failing test
* Remove my comment about ftf/fsf encoding, it's been fixed
* address review feedback
* correct VSQRTPS implementation
2021-02-16 21:41:33 -05:00
water111
f1a93886e7
[Decomp] Decompile gstring ( #267 )
...
* decompile gstring
* update
* Update code_status.md
* Update code_status.md
* decompile gstate
* add test for states, hope it passes
* also test throw and catch xmms
* update doc
2021-02-16 20:37:48 -05:00
water111
43c1d223a6
[Decomp] Decompile gcommon, gstring-h, and gkernel-h ( #249 )
...
* begin decomp
* untabify
* finish decomp of gcommon
* warning with function name
* clean up gkernel-h
* fix all types
2021-02-11 09:49:15 -05:00
water111
6e0ff4c9d0
[Decompiler] Clean up the output ( #245 )
...
* fix parent issue
* fix compiler issue
* update
* add error messages
* fix error
* fix array access, temporary
* more clean
* fix
* rename arg variables better
* fix method name
* fix no return value in decompiler
* many small fixes
* cheat types so it works
* name map
* fix old test'
2021-02-09 20:59:14 -05:00
water111
e01e065170
[gcommon decomp] compiler and decompiler fixes ( #239 )
...
* wip
* decompile file-io
* a
* fix
2021-02-07 18:21:00 -05:00
water111
ddffda1e8c
[Decompilation] Fixes to compiler/decompiler for gcommon ( #227 )
...
* fix shift naming issue
* fix bad argument variable names
* fix missing variable issue
* small missing things
* wip
* cleanup
* wip
* fix conditions
* small bug fix in rewriter
* fix incredibly stupid printing bug
2021-02-05 19:41:09 -05:00
Tyler Wilding
65206823ef
Compiler - Implementing more VU Instructions (Part 1 of 2) ( #221 )
...
* A little project cleanup
* Script to grep decompiler results
* Compiler: Implement VNOP -> FNOP (.nop.vf)
temp: test new addition
* Compiler: Implement VMUL.xyzw (.mul.vf)
squash: cleaning up files i don't want to accidentally stage
* Compiler: Implement V[ADD|SUB|MUL].dest instructions
* Compiler: Implement V[ADD|SUB|MUL][x|y|w|z].dest instructions
* Compiler: Implement V[MIN|MAX]{[x|y|z|w]}.dest instructions
* Compiler: Implement V[ABS]{[x|y|z|w]}.dest instructions
* Cleanup review feedback before adding tests and docs
* Tests: Added missing emitter tests
* tests/compiler: Comprehensively test all new instructions
* docs: Add documentation for newly supported operations
* Remove unused vector-h function
* Address review feedback
2021-02-05 15:00:17 -05:00
water111
45f74f078a
[Compiler] Implement and/or in the compiler instead of a macro ( #231 )
...
* fix sc
* doc update
* another doc update
2021-02-03 16:12:51 -05:00
water111
425cc6794c
[Compiler] Bug fixes ( #230 )
...
* fix method name and use-after-free during compile error
* doc fix
2021-02-03 11:07:47 -05:00
water111
a870bb53e4
[Decompiler] Expression 5 ( #218 )
...
* new method of inline-array-class
* up to new array
* wip side effect stuff
* prepare for pop barrier stuff
* add pop barrier
* add local vars hack to compiler
* fix bug, make sort work
* add test for array
* bug fixes
* another bug fix
* refactoring env variable print for casts
* more tweaks
* updates
* final cleanup
* codacy fixes
2021-02-01 20:41:37 -05:00
water111
27f0a7ca44
[Decompiler] Begin expression conversion, rearrange tests ( #209 )
...
* refactor tests and analysis passes
* identity test working
* combine test categories with only a few cases
* more fixes
2021-01-23 16:32:56 -05:00
water111
feead303aa
better array indexing ( #176 )
2020-12-31 22:15:17 -05:00
water111
c8d382b35c
[Compiler] Improve spills and register backups ( #175 )
...
* xmm spill
* improve getting stack variables
* improve symbol getting
* update changelog
2020-12-31 15:59:11 -05:00
water111
a80b331c27
[Compiler] In-progress support for vector float (AVX) ( #171 )
...
* begin work on vf support
* split reg kind into reg hw kind and class, use class for ireg
* try test
* clang format
* add some more ops and some example functions
* better lvf on statics
* add documentation
2020-12-30 15:33:51 -05:00
water111
c811778d00
[Compiler] Add reset-here
option to colored and constrained rlet vars ( #169 )
...
* add reset-here to clear coloring at entry to rlet
* update doc
2020-12-27 14:21:48 -05:00
water111
3355df809a
Add boxed array type ( #163 )
...
* add array
* support static arrays
2020-12-19 21:05:18 -05:00
water111
11a82bbf08
[Compiler] Add static data features ( #162 )
...
* support static pairs
* also support strings
* reorganize static stuff
* add test
* support inlined fields
* add missing type check
2020-12-19 15:21:29 -05:00
water111
ba919a069c
Add another kernel test, fix small bugs ( #156 )
...
* temp
* run function in process test
* windows debug
* debug
* update
* update
* again
* update
* fix same bug in debugger
2020-12-10 20:26:40 -05:00
water111
e05f3ceefc
Implement gkernel
: Part 2 ( #155 )
...
* update
* small fixes
* deactivate
* simple kernel test
2020-12-08 21:41:36 -05:00
water111
d86964985a
Improve Register Allocator ( #154 )
...
* before adding IRegSet stuff
* use bitsets for live analysis
* speed up
* add stack structures
* organize new better
2020-12-06 15:42:26 -05:00
water111
06918e1fea
Implement gkernel
: Part 1 ( #150 )
...
* start gkernel implementation
* progress
* more of kernel
* swap to new dispatcher, will it work on windows
* update
2020-12-05 17:09:46 -05:00
water111
90e5c023f1
Basic Inline Assembly ( #149 )
...
* basic inline assembly support
* fix rlet
* clean up detail in IR and update documentation
2020-12-04 12:57:10 -05:00
water111
ea479bee98
Add enums and some cleanup ( #148 )
...
* support enums
* better compiler warnings
* tweaks to build with clang
2020-12-02 19:51:42 -05:00
water111
21fbdce7aa
[Compiler] Bitfield Types ( #146 )
...
* add the ability to define and read bitfield types
* new set
* add bitfield setting
* add static bitfields
2020-11-29 18:01:30 -05:00
water
e93b54347f
add float min max to the compiler
2020-11-29 10:46:14 -05:00
water
dc32b59217
update
2020-11-28 20:53:13 -05:00
water
5b4b5c238e
update
2020-11-28 19:59:23 -05:00
water111
09142d1712
Support "game count" and v4 objects ( #140 )
...
* generate object, but not supported in linker yet
* add link and tests
* update types
2020-11-24 20:48:38 -05:00
water
eb30fc88b0
fix compiler bugs
2020-11-22 20:10:33 -05:00
water111
19b8bb81c9
Add the STR RPC to overlord and game code ( #134 )
...
* work in progress streaming rpc, simple test is working
* actually add the test
* debug windows failure
* windows fix maybe
* windows 2
* use str-load-status
* update types
2020-11-22 12:59:55 -05:00
water111
460ec874bb
Add support for stack integers ( #135 )
...
* add support for stack integers
* update documentation
* revise value type stack variables
2020-11-22 12:22:19 -05:00
water111
660ef41136
Update documentation and clean up ( #129 )
...
* cleanup
* clean up file layout
2020-11-21 12:52:38 -05:00
water111
953c1512db
Process Text Files in Decompiler ( #122 )
...
* begin support for v2
* export game text
* generate text files
* working text load
* fix windows
* add test and clean up game tests a bit
* load the right file
* add separate program to launch the data compiler
* add offline test script
2020-11-19 21:22:16 -05:00
water111
dfe129373a
fix float loads, add dgo loading to game test ( #101 )
...
* fix float loads, add dgo loading to game test
* build and load dgos in order
2020-10-25 20:30:25 -04:00
water111
d5d0d7f924
Add compiler features for gkernel ( #83 )
...
* add some type stuff for gkernel
* more tweaks
* blah
* more little tweaks and more of gkernel
* add static structures with integer fields but not basics
* static structures
* update gkernel
2020-10-16 17:08:26 -04:00
water111
3616b790bd
Add more array stuff and clean up field access ( #80 )
...
* implement some array stuff and clean up field access
* update goal change log
2020-10-14 13:42:14 -04:00
Tyler Wilding
f712c615ce
Fix remaining failing tests
2020-10-09 19:44:16 -04:00
Tyler Wilding
83f2751795
Make all tests hermetic, only the tests with kernel left
2020-10-09 13:23:41 -04:00
Tyler Wilding
097a9157f5
Copy over LISP code
2020-10-08 00:05:01 -04:00
Tyler Wilding
282e53f1be
Concept is working, just needs some polish and can start translating the tests
2020-09-26 18:48:40 -04:00