Jesper Gravgaard
|
99085f1351
|
Refactored ReferenceInfos to use a more abstract model of references to variables/constants.
|
2018-07-23 01:00:25 +09:00 |
|
Jesper Gravgaard
|
4b4c6f5364
|
Using ProgramValueIterator instead of custom loop.
|
2018-07-22 16:41:19 +09:00 |
|
Jesper Gravgaard
|
81e214cee3
|
Now replacing in both control flow graph and symbol table per default.
|
2018-07-22 16:24:08 +09:00 |
|
Jesper Gravgaard
|
f17422a564
|
Renamed ValueReplacer classes to ValueIterator to better illustrate the generic nature.
|
2018-07-22 16:02:51 +09:00 |
|
Jesper Gravgaard
|
a14fa4dec3
|
Eliminated AliasReplacers separate implementation of the execution. Now using a clean ValueReplacer. Also fixed Pass1GenerateSSA to use a clean ValueReplacer.
|
2018-07-22 14:14:15 +09:00 |
|
Jesper Gravgaard
|
f9449997cb
|
Refacing ValueReplacer
|
2018-07-21 23:29:11 +09:00 |
|
Jesper Gravgaard
|
62cfda6468
|
Added SymbolVariableRef (preparing for refacing ValueReplacer and ReferenceInfos)
|
2018-07-21 22:58:42 +09:00 |
|
Jesper Gravgaard
|
3328a570c6
|
Implemented late constant resolving for array lengths allowing the use of any constant expressions in the first/last values. The length inside the SymbolType still needs to be fixed - so a few tests currently fail.
|
2018-07-21 18:13:36 +09:00 |
|
Jesper Gravgaard
|
ac9ba0065c
|
Implemented late constant resolving for ranged for() allowing the use of any constant expressions in the first/last values..
|
2018-07-12 14:42:47 +02:00 |
|
Jesper Gravgaard
|
dbcbe597c0
|
Fixed test on Windows.
|
2018-07-10 22:29:12 +02:00 |
|
jespergravgaard
|
cda0a9b498
|
Added a sinus plotter to test the sinus curves against macro-generated sinus.
|
2018-07-10 11:56:01 +02:00 |
|
jespergravgaard
|
ad0512cc9d
|
Fixed test
|
2018-07-09 18:57:14 +02:00 |
|
jespergravgaard
|
5abd555206
|
Implemented initial logo scroller. Fixed long branch detection when inlining kickasm. Added needed fragments.
|
2018-07-09 18:39:01 +02:00 |
|
Jesper Gravgaard
|
5e9b15477a
|
Implemented sinus generator for logo scroller. Added missing fragments and fixed issue when removing an unused block also made some variables unused.
|
2018-07-08 23:58:43 +02:00 |
|
Jesper Gravgaard
|
2c0299ee09
|
Implemented support for resources neede for inline KickAsm code.
|
2018-07-07 19:23:38 +02:00 |
|
Jesper Gravgaard
|
a82c5cf5b1
|
Implemented support for inline KickAssembler code
|
2018-07-07 13:55:15 +02:00 |
|
jespergravgaard
|
198c941d85
|
Added syntax for extern variables and inline kickasm code
|
2018-07-06 12:42:59 +02:00 |
|
jespergravgaard
|
45f30c7031
|
Fixed fragment test
|
2018-06-03 23:33:49 +02:00 |
|
Jesper Gravgaard
|
364ea5e9b9
|
Fixed fragment tests
|
2018-06-02 11:34:35 +02:00 |
|
Jesper Gravgaard
|
11b700d269
|
Fixed tests
|
2018-06-01 00:45:18 +02:00 |
|
Jesper Gravgaard
|
bb1048fdfa
|
Fixed problem with ROL/ROR/ASL/LSR A not marked as clobbering A.
Working on line anim.
|
2018-05-31 20:01:56 +02:00 |
|
jespergravgaard
|
68cba8f9af
|
A bit more line anim - work in (early) progress. Added inlined toD018() and toDd00().
|
2018-05-14 23:53:03 +02:00 |
|
jespergravgaard
|
a7b751a9fd
|
A bit more line anim - work in (early) progress.
|
2018-05-14 10:31:43 +02:00 |
|
jespergravgaard
|
f492173178
|
Added line anim - work in (early) progress.
|
2018-05-08 00:25:33 +02:00 |
|
jespergravgaard
|
808b60d06a
|
Added printable error context to statements
|
2018-05-05 21:34:24 +02:00 |
|
jespergravgaard
|
21478bd5b6
|
Removed param-assignment attribute from call
|
2018-05-01 22:51:00 +02:00 |
|
jespergravgaard
|
e589373374
|
Added support for multi-level function inlining containing value-lists.
|
2018-05-01 22:37:28 +02:00 |
|
jespergravgaard
|
de8654322f
|
Renamed method
|
2018-05-01 22:10:06 +02:00 |
|
jespergravgaard
|
4e973cebc7
|
Now supporting more complex functions inlining.
|
2018-05-01 22:08:23 +02:00 |
|
jespergravgaard
|
6bd3a2dedf
|
Implemented function inlining. Closes #63
|
2018-05-01 00:09:51 +02:00 |
|
jespergravgaard
|
b15a88f27e
|
Changed control flow graph block collection to a modifiable list.
|
2018-04-29 22:34:26 +02:00 |
|
jespergravgaard
|
3879ac83b0
|
Added ConstantCastValue for when noop casts are used on constant values.
|
2018-04-29 21:39:12 +02:00 |
|
jespergravgaard
|
a3109431bf
|
Renamed modulus to modulo
|
2018-04-28 13:07:51 +02:00 |
|
jespergravgaard
|
469fd63320
|
Renamed modulus to modulo
|
2018-04-28 13:00:20 +02:00 |
|
jespergravgaard
|
55fa7be4d1
|
Implemented compound assignments. Closes #104
|
2018-04-28 12:06:01 +02:00 |
|
jespergravgaard
|
6a399cf210
|
Renamed boolean to bool. Closes #110
|
2018-04-28 08:41:05 +02:00 |
|
jespergravgaard
|
37e300fb2b
|
Added test of chained assignments.
|
2018-04-28 08:22:53 +02:00 |
|
jespergravgaard
|
7ed032f039
|
Fixed fragment test reference data
|
2018-04-28 08:15:21 +02:00 |
|
jespergravgaard
|
35080d08d1
|
Added error when encountering runtime dicision/multiplication/modulus.
|
2018-04-27 20:12:51 +02:00 |
|
jespergravgaard
|
779e10aefc
|
Added some basic arithmetic expression tests.
|
2018-04-27 16:11:42 +02:00 |
|
jespergravgaard
|
760ea7db44
|
Added missing fragment
|
2018-04-27 15:05:19 +02:00 |
|
jespergravgaard
|
521385065d
|
Fixed logging
|
2018-04-27 14:55:46 +02:00 |
|
jespergravgaard
|
80f57ed5f1
|
Added boolean pointer test and a test that modifying a constant results in an error.
|
2018-04-27 14:49:35 +02:00 |
|
jespergravgaard
|
ad54c264c4
|
Added boolean type variables & fragments. Lots of missing fragments. Inlining any booleans possible will improve performance. Closes #86
|
2018-04-27 01:09:34 +02:00 |
|
jespergravgaard
|
e3da759057
|
Added test with a constant word pointer. Added missing word fragments. Fixed issue with pointer to unused word variable.
|
2018-04-26 23:29:43 +02:00 |
|
jespergravgaard
|
9265592f25
|
Implemented identical phi elimination
|
2018-04-25 01:11:28 +02:00 |
|
jespergravgaard
|
b2f16e2a57
|
Added missing fragments and a few new synth rules for derefidx
|
2018-04-24 23:15:18 +02:00 |
|
jespergravgaard
|
34d8afcaae
|
Added some simple test programs for the manual.
|
2018-04-24 10:05:48 +02:00 |
|
jespergravgaard
|
34909f47d8
|
Recusion now detected, resulting in CompileError. Closes #88
|
2018-04-22 23:46:26 +02:00 |
|
jespergravgaard
|
a34f77d319
|
Improved fragment synthesis by allowing X/Y registers to be used for constant byte values - great for _derefidx_vbuc1! Closes #99
|
2018-04-22 22:49:40 +02:00 |
|