Jesper Gravgaard
|
5c49f2356e
|
Added support for const/volatile directives inside & outside structs. Closes #377
|
2020-03-30 13:48:55 +02:00 |
|
Jesper Gravgaard
|
607f740f8b
|
Added support for typedefs with const/volatile directives. Closes #375
|
2020-03-30 13:25:52 +02:00 |
|
jespergravgaard
|
e3b54f34d7
|
Fixed typedef arrays (still no array of array). Closes #376
|
2020-03-30 08:35:22 +02:00 |
|
jespergravgaard
|
5a8654b0e7
|
Working towards typedef with const/volatile directive handling and typedef arrays by introducing a varDecl stack in the parser. #375 #376 #377
|
2020-03-30 00:12:03 +02:00 |
|
jespergravgaard
|
db6f8b5a36
|
Added variable nomodify/volatile information to log.
|
2020-03-29 21:00:25 +02:00 |
|
jespergravgaard
|
a579ab491a
|
Changed pointer and directive parsing to distinguish directives applied to pointers and directives applied to variables. Fixed all example-code to reflect this. Closes #271
|
2020-03-29 20:22:16 +02:00 |
|
jespergravgaard
|
838b8f4d26
|
Added support for typedef arrays.
|
2020-03-27 22:23:04 +01:00 |
|
jespergravgaard
|
d6c60d9466
|
Pointer type rewritten to bind to variables instead of type allowing a declaration like char *a, b, **c;. Closes #265
|
2020-03-27 21:08:18 +01:00 |
|
jespergravgaard
|
9b41df3b6a
|
Added variable layer handling to declarations.
|
2020-03-27 10:53:42 +01:00 |
|
jespergravgaard
|
ffa9d8a6ca
|
Added compiler option -Warraytype to allow non-standard array syntax. By default it is not allowed. #162
|
2020-03-26 16:20:30 +01:00 |
|
jespergravgaard
|
d3012e92d1
|
Changed code to standard C array syntax char x[8].
|
2020-03-26 12:03:21 +01:00 |
|
jespergravgaard
|
6894f0bd7c
|
Changed code to standard C array syntax char x[8].
|
2020-03-26 10:56:19 +01:00 |
|
jespergravgaard
|
f9560de10d
|
Standard C array syntax implemented char x[8]. The KickC syntax char[8] x is still supported, but will be removed. Closes #162
|
2020-03-26 09:13:48 +01:00 |
|
jespergravgaard
|
1160a14359
|
Changed byte/word to char/int
|
2020-03-26 07:06:55 +01:00 |
|
Jesper Gravgaard
|
253263983e
|
Added 2x2 font compression example. Improved chargen example.
|
2020-03-25 17:51:45 +01:00 |
|
jespergravgaard
|
81202b676a
|
Added font compression example.
|
2020-03-25 09:56:10 +01:00 |
|
jespergravgaard
|
a44d8d5388
|
Improved liverange testing
|
2020-03-23 07:26:43 +01:00 |
|
jespergravgaard
|
e385257cf4
|
Improved liverange testing
|
2020-03-23 07:26:26 +01:00 |
|
jespergravgaard
|
ae1536f429
|
Merged simpler live range calculation to master. Improved scope weight calculation to combine call graph depth and loop depth. Added missing fragments.
|
2020-03-23 00:10:07 +01:00 |
|
jespergravgaard
|
6b3b4bec5a
|
Working on live range effective simple. Fixed aliasing and parameters. There is still problems with functions calling functions - such as print_w(), print_sw() and print_char().
|
2020-03-22 22:26:39 +01:00 |
|
jespergravgaard
|
4f8609ea72
|
Working on #371 simpler live range calculation
|
2020-03-16 07:57:56 +01:00 |
|
jespergravgaard
|
20b596d98b
|
Closes #368
|
2020-03-12 05:58:14 +01:00 |
|
jespergravgaard
|
c958f7e781
|
Added -vasmout option that shows the stdout output from KickAsm during compilation.
|
2020-03-12 05:56:57 +01:00 |
|
jespergravgaard
|
d1ec933032
|
Fixed error in recursive caller code.
|
2020-03-08 23:26:49 +01:00 |
|
jespergravgaard
|
0e58165f3a
|
Improving implementation.
|
2020-03-08 22:43:00 +01:00 |
|
jespergravgaard
|
c0b0f063cc
|
Implemented switchable effective live ranges. Started on "simple" which works for most programs - but fail for tetris, clearscreen and more.
|
2020-03-08 21:07:09 +01:00 |
|
jespergravgaard
|
7726c1d43f
|
Refactored effectively alive vars into an interface for experimenting with less memory-intensive implementation.
|
2020-03-08 16:14:20 +01:00 |
|
jespergravgaard
|
afe8294cd1
|
Now auto-converting global variables modified inside a __stackcall procedure to load/store.
|
2020-03-08 12:57:32 +01:00 |
|
jespergravgaard
|
d217113afb
|
Fixed multi-output of comments.
|
2020-03-08 09:43:12 +01:00 |
|
jespergravgaard
|
3b87c1a7c5
|
Restructured code to match call prepare/execute/finalize/parameter/return.
|
2020-03-08 09:06:39 +01:00 |
|
jespergravgaard
|
1836a9bd92
|
Finally eliminated copy visitor!
Refactored CallPhiParameters to modify the current control flow graph.
|
2020-03-07 22:38:40 +01:00 |
|
jespergravgaard
|
61a6e29f4d
|
Added output
|
2020-03-07 21:43:42 +01:00 |
|
jespergravgaard
|
4af6d88907
|
Renamed passes
|
2020-03-07 19:44:37 +01:00 |
|
jespergravgaard
|
9e505c4d6e
|
Merge remote-tracking branch 'origin/master'
|
2020-03-07 19:13:53 +01:00 |
|
jespergravgaard
|
e2cb37eaf3
|
Removed unneccesary condition.
|
2020-03-07 19:13:44 +01:00 |
|
Jesper Gravgaard
|
002c498810
|
Rewrote calling convention PHI return value pass.
|
2020-03-07 19:11:33 +01:00 |
|
jespergravgaard
|
f32f44cd92
|
Added missing test data.
|
2020-03-07 08:44:36 +01:00 |
|
jespergravgaard
|
2e934a7a30
|
Created StatementExprSideEffect. Converted call prepare to pushes.
|
2020-03-07 08:44:02 +01:00 |
|
jespergravgaard
|
7baacebc3d
|
Created StatementExprSideEffect. Converted stack operations to this.
|
2020-03-07 08:08:54 +01:00 |
|
jespergravgaard
|
9e2e38e671
|
Moving __Stackcall stack operations back to pass 1/2 from pass 4 ASM code generation.
|
2020-03-07 00:33:07 +01:00 |
|
jespergravgaard
|
689aeb0ca6
|
Fixed problem with passing struck values to __stackcall. Closes #366
|
2020-03-06 09:38:09 +01:00 |
|
jespergravgaard
|
797c3bbd21
|
Moved calling convention stack handling to pass 1. Passing structs to __stackcall does not work atm.
|
2020-03-05 09:13:52 +01:00 |
|
jespergravgaard
|
c6f81595fb
|
Added support for %E in linker scripts expanding to the name of the entry point label starting the program (ie. __bbegin). __bbegin handling could still use some love.
|
2020-03-03 08:58:31 +01:00 |
|
jespergravgaard
|
2c177dd45f
|
Fixed passing of value lists as return values. Fixed problems with clobbering in return/call return value fetch.
|
2020-03-03 01:25:02 +01:00 |
|
jespergravgaard
|
2427720581
|
Fixed problem where unused parameters were eliminated.
|
2020-03-02 20:56:04 +01:00 |
|
jespergravgaard
|
25279aead3
|
Fixed problem with live variables and stack calls.
|
2020-03-02 09:21:31 +01:00 |
|
jespergravgaard
|
5d7533de5d
|
Added test illustrating variable alive range propagation problem when using call stack.
|
2020-03-01 23:02:07 +01:00 |
|
jespergravgaard
|
7720eb8c13
|
Added tests illustrating stack call live range problems.
|
2020-03-01 17:05:54 +01:00 |
|
jespergravgaard
|
648d08a13d
|
Added proper clobber check to call prepare sub-statements. Fixed stack clean-up after stack call return.
|
2020-03-01 16:00:42 +01:00 |
|
jespergravgaard
|
4346790c43
|
Fixed failing test.
|
2020-02-28 00:16:12 +01:00 |
|