jespergravgaard
|
da56d74339
|
Merged IcePic/master fragments. Thanks to Janne Johansson. #248
|
2019-08-10 14:41:46 +02:00 |
|
jespergravgaard
|
741f424116
|
Merged IcePic/master fragments. Thanks to Janne Johansson. #248
|
2019-08-10 14:41:30 +02:00 |
|
jespergravgaard
|
65bf7be4d7
|
Added support for export directive on data variables ensuring they are always included in the output ASM even if not used. Closes #252
|
2019-08-10 09:02:35 +02:00 |
|
jespergravgaard
|
7b155ee4b0
|
Added support for register keyword without parameter for compatibility. Closes #229
|
2019-08-10 08:39:42 +02:00 |
|
jespergravgaard
|
5755616588
|
Changed syntax slightly
|
2019-08-10 08:21:58 +02:00 |
|
jespergravgaard
|
e53159699b
|
Implemented Xmega65 SYSCALLS.
|
2019-08-10 00:22:57 +02:00 |
|
jespergravgaard
|
4430974f25
|
Implemented Xmega65 SYSCALLS.
|
2019-08-10 00:17:55 +02:00 |
|
jespergravgaard
|
d70fbe4c34
|
Implemented Xmega65 SYSCALLS.
|
2019-08-10 00:16:33 +02:00 |
|
jespergravgaard
|
dbb6ce5933
|
Added support for #pragma code_seg() and #pragma data_seg(). #113
|
2019-08-09 22:38:33 +02:00 |
|
Jesper Gravgaard
|
6b0ef4408c
|
Added test data.
|
2019-08-09 17:50:02 +02:00 |
|
Jesper Gravgaard
|
558f166dd4
|
Implemented #pragma link() and -T for specifying custom linking script. #113
|
2019-08-09 17:07:11 +02:00 |
|
Jesper Gravgaard
|
313d45fd03
|
Improved target platform handling.
|
2019-08-09 16:11:28 +02:00 |
|
jespergravgaard
|
8f0b9c886f
|
Implemented initial KickAsm segment support. #113
|
2019-08-09 11:31:08 +02:00 |
|
jespergravgaard
|
9a54c0f814
|
Attempt at making a release root dir. #235
|
2019-08-09 00:03:59 +02:00 |
|
jespergravgaard
|
d3081d3fe1
|
Renamed AsmSegment to AsmChunk in preparation for introduction of KickAsm segments. #113
|
2019-08-08 23:46:43 +02:00 |
|
jespergravgaard
|
fe93a48360
|
Renamed AsmSegment to AsmChunk in preparation for introduction of KickAsm segments. #113
|
2019-08-08 23:37:43 +02:00 |
|
jespergravgaard
|
31a3bd9078
|
Added #pragma keyword. Closes #250
|
2019-08-08 21:49:18 +02:00 |
|
Jesper Gravgaard
|
ab28c25528
|
Added #pragma syntax
|
2019-08-08 13:16:17 +02:00 |
|
Jesper Gravgaard
|
c7386277e2
|
Separated local and global directives in syntax.
|
2019-08-08 13:10:23 +02:00 |
|
jespergravgaard
|
db3e77d8fd
|
Added NMI sample example.
|
2019-08-07 21:35:40 +02:00 |
|
jespergravgaard
|
7a49ded40c
|
Now all instructions addressing zero-page have an explicit .z added to the ASM to ensure the ASM generated does zeropage-addressing. Closes #249
|
2019-08-07 21:00:21 +02:00 |
|
jespergravgaard
|
c78bebf2a8
|
Updated stdlib & tests with 0-terminated strings.
|
2019-08-07 19:48:56 +02:00 |
|
jespergravgaard
|
6c59110896
|
Fixed encoded string zero termination. Closes #192
|
2019-08-07 19:36:19 +02:00 |
|
Jesper Gravgaard
|
62b03bcefb
|
Fixed encoding for literal chars through work-around. Closes #245
|
2019-08-07 14:58:57 +02:00 |
|
Jesper Gravgaard
|
7ba7af9d55
|
fixed boolean off-by-one.
|
2019-08-07 13:51:39 +02:00 |
|
Jesper Gravgaard
|
ce5e3cf19a
|
Added constant loop head optimization, that detects when the condition is constant in the first loop iteration. Closes #246
|
2019-08-07 13:22:05 +02:00 |
|
jespergravgaard
|
b2804ef335
|
Added a smaller sieve.
|
2019-08-07 11:35:15 +02:00 |
|
jespergravgaard
|
dacd25ac5f
|
Added constant loop-head detection to a switchable optimization option -Oloophead. #246
Implemented for()-loop condition checking before body. Closes #183
|
2019-08-07 11:27:56 +02:00 |
|
jespergravgaard
|
c88932d423
|
Added constant loop-head detection to a switchable optimization option -Oloophead. #246
Implemented for()-loop condition checking before body. Closes #183
|
2019-08-07 11:09:29 +02:00 |
|
jespergravgaard
|
be4983cb13
|
Implemented for()-loop condition checking before body. #183
Moved constant loop-head detection to switchable optimization option.
|
2019-08-07 10:56:41 +02:00 |
|
jespergravgaard
|
0a58b03094
|
Constant loop head identification working. #246 is essentially complete. A few program grow to much from the optimization - this needs attention at some point.
|
2019-08-07 01:32:46 +02:00 |
|
Janne Johansson
|
1df35712fc
|
cant get tests to pass with this fragment in
|
2019-08-06 21:57:16 +02:00 |
|
Janne Johansson
|
af194de38e
|
Missing EOL
|
2019-08-06 20:47:12 +02:00 |
|
Janne Johansson
|
e34ace5f48
|
accidental compare got left by mistake
|
2019-08-06 20:46:28 +02:00 |
|
Janne Johansson
|
6de8113e7d
|
make bcs the alternative to bcc instead of jmp
|
2019-08-06 20:26:06 +02:00 |
|
Janne Johansson
|
6502c0dbc3
|
a few more fragments
|
2019-08-06 13:44:06 +02:00 |
|
jespergravgaard
|
50b59555fc
|
Added bool-ifs-min test demonstrating problem with constant loop head optimization
|
2019-08-06 09:08:10 +02:00 |
|
jespergravgaard
|
e167f8dce8
|
Fixed almost all problems in constant loop head identification. A few program becomes infinite loops - needs fixing! A few also become way to long when rewritten - probably detect & rollback.
|
2019-08-06 01:10:57 +02:00 |
|
Jesper Gravgaard
|
c63b031dbe
|
Implemented new Unroller that can copy a set of blocks in the control flow graph and handles block transitions according to a specified strategy. Moved loop-unroll implementation to the new Unroller.
|
2019-08-05 17:32:37 +02:00 |
|
jespergravgaard
|
af5bb803c1
|
Working on optimizing constant loop heads (Pass2LoopHeadConstantIdentification). #246
|
2019-08-04 08:49:34 +02:00 |
|
jespergravgaard
|
3d0f0b648d
|
Working on optimizing constant loop heads (Pass2LoopHeadConstantIdentification). #246
|
2019-08-04 01:50:00 +02:00 |
|
jespergravgaard
|
4807bbded7
|
Code generation now handles encoding in literal chars. Done 2/3 of #245
|
2019-08-04 00:13:33 +02:00 |
|
jespergravgaard
|
9e56b49a7e
|
Added encoding information to literal chars. Working on 2/3 of #245
|
2019-08-03 14:08:48 +02:00 |
|
jespergravgaard
|
7f3cfd50af
|
Working on fixing problem with encoding of literal chars. 1/3 done. #245
|
2019-08-03 13:32:34 +02:00 |
|
jespergravgaard
|
198280e1c8
|
Snapshotting program dynamic state now working through Serialization. Working on #246
|
2019-08-03 13:22:27 +02:00 |
|
jespergravgaard
|
aceea6d8ec
|
Refactored more program data to be calculated on demand.
|
2019-08-02 01:25:32 +02:00 |
|
jespergravgaard
|
0a39633ed8
|
Refactored phi transitions and symbol infos to be calculated on demand.
|
2019-08-02 00:43:47 +02:00 |
|
jespergravgaard
|
1e03067814
|
Refactored control flow graph dominators to be calculated on demand.
|
2019-08-02 00:32:53 +02:00 |
|
jespergravgaard
|
693a0bdbed
|
Refactored variable reference infos to be calculated on demand.
|
2019-08-02 00:11:54 +02:00 |
|
jespergravgaard
|
1f39ab8c37
|
Refactored call-graph to be calculated on demand.
|
2019-08-01 23:52:05 +02:00 |
|
jespergravgaard
|
bc1dd78bd8
|
Implemented program snapshot and better PASS separation. Preparing for optimizations that require experimentation (snapshot/restore state).
|
2019-08-01 23:00:58 +02:00 |
|
jespergravgaard
|
764e0c1069
|
Added some basic loop tests.
|
2019-08-01 21:15:33 +02:00 |
|
jespergravgaard
|
a006e67f82
|
Upgraded to KickAss 5.8. Closes #243
|
2019-08-01 12:58:40 +02:00 |
|
jespergravgaard
|
129cad782b
|
Fixed test
|
2019-08-01 11:03:19 +02:00 |
|
jespergravgaard
|
bb27de00ce
|
added comment
|
2019-07-31 16:08:16 +02:00 |
|
jespergravgaard
|
832a104c0a
|
Added some reserved addresses for the BASIC sinus generation.
|
2019-07-31 16:04:21 +02:00 |
|
jespergravgaard
|
f8dfe3743b
|
Implemented light-weight zeropage coalesce. Closes #237
|
2019-07-31 13:47:22 +02:00 |
|
jespergravgaard
|
869a2dcade
|
Working on extracting zp coalesce logic.
|
2019-07-31 11:08:33 +02:00 |
|
jespergravgaard
|
2135bb1170
|
merged masters
|
2019-07-30 22:29:33 +02:00 |
|
jespergravgaard
|
78f89c927b
|
Added joystick test
|
2019-07-30 22:28:19 +02:00 |
|
Jesper Gravgaard
|
73fb40a3e3
|
merged and fixed conflict
|
2019-07-30 15:01:43 +02:00 |
|
Jesper Gravgaard
|
5ad3bec534
|
Added two tests.
|
2019-07-30 14:54:22 +02:00 |
|
jespergravgaard
|
b27c69635b
|
Working on light-weight coalesce #237
|
2019-07-29 23:50:42 +02:00 |
|
jespergravgaard
|
dc853bcffa
|
Converted letter C to array of struct literal.
|
2019-07-28 23:11:41 +02:00 |
|
jespergravgaard
|
a50e9e212a
|
Added support for literal arrays of structs by making the literal-identification and literal-handling and code-generation recursive over the value lists. Closes #223
|
2019-07-28 23:05:30 +02:00 |
|
jespergravgaard
|
44df048e64
|
Added support for address-of array-element &sieve[j]. Closes #228
|
2019-07-26 16:12:12 +02:00 |
|
jespergravgaard
|
07b08e3ed7
|
Renamed struct tests away from "problem-" name. Postponed struct member unwinding for non-variable members.
|
2019-07-26 14:54:10 +02:00 |
|
jespergravgaard
|
f336907efd
|
Added test refs.
|
2019-07-26 14:31:37 +02:00 |
|
jespergravgaard
|
a30939e72c
|
Finished fixes for uniwnding struct pointers/arrays.
|
2019-07-26 14:31:00 +02:00 |
|
jespergravgaard
|
66f6195739
|
Fixed problem with passing struct inside array as parameter. Closes #224
|
2019-07-26 13:22:18 +02:00 |
|
jespergravgaard
|
a1ef8ad163
|
Fixed problem with passing dereferenced struct pointers as parameters. Closes #225
|
2019-07-26 13:15:54 +02:00 |
|
jespergravgaard
|
0c33353bf8
|
Fixed problems with sizeof()-handling struct members. Closes #230
|
2019-07-25 23:06:09 +02:00 |
|
jespergravgaard
|
a9e0c7805f
|
Added error when exhausting zeropage space for variables. Closes #233
|
2019-07-25 17:26:43 +02:00 |
|
jespergravgaard
|
e8a0694f34
|
Added support for different target platforms. Added first platforms c64basic and asm6502 (no upstart). Closes #232
|
2019-07-25 17:06:19 +02:00 |
|
jespergravgaard
|
424f5ce006
|
Added an extra test.
|
2019-07-25 14:55:10 +02:00 |
|
jespergravgaard
|
02ff354d3f
|
Dropped SelfPhiEliminate pass - so now phi-variables have value for all predecessor-blocks. Added self-phi-handling to Identical-PHI optimization step instead. Closes #231
|
2019-07-25 14:35:43 +02:00 |
|
jespergravgaard
|
ca8d68891c
|
Added some word fragments
|
2019-07-21 21:08:49 +02:00 |
|
jespergravgaard
|
e968cb6de7
|
Added execute-bit to deploy script. Coded a bit on a sprite font.
|
2019-07-21 19:02:13 +02:00 |
|
Jesper Gravgaard
|
9231fe18d6
|
Added splie test creating a (slowly) rotating truetype c.
|
2019-07-19 02:23:44 +02:00 |
|
Jesper Gravgaard
|
b70b969fe6
|
Improved C stdlib a little
|
2019-07-18 13:04:55 +02:00 |
|
Jesper Gravgaard
|
5a0b1a5d57
|
Added prime sieve test program
|
2019-07-18 09:47:41 +02:00 |
|
Jesper Gravgaard
|
660d2a8979
|
Changed print_cls() to use memset(). Fixed error in fragment.
|
2019-07-18 01:54:16 +02:00 |
|
Jesper Gravgaard
|
25f16b6b87
|
Added utoa() and ultoa() to print()
|
2019-07-18 00:45:46 +02:00 |
|
Jesper Gravgaard
|
9e66c01b6c
|
Changed RADIX enum values.
|
2019-07-17 23:46:07 +02:00 |
|
Jesper Gravgaard
|
31ede3c794
|
Added utoa() implementation handling binary/octal/decimal & hexadecimal.
|
2019-07-17 23:38:09 +02:00 |
|
Jesper Gravgaard
|
aefa5c9f49
|
Added test example of sub-optimal ASM generated for sub-structs member access of a struct through a pointer. #226
|
2019-07-16 23:14:14 +02:00 |
|
Jesper Gravgaard
|
889cc1219f
|
Added test demonstrating problem with passing derefed struct pointer to call. #225
|
2019-07-16 22:45:13 +02:00 |
|
Jesper Gravgaard
|
cb5dc6550e
|
Added test demonstrating problem with passing struct in array as parameter #224
|
2019-07-16 22:39:36 +02:00 |
|
Jesper Gravgaard
|
bef7663023
|
Optimized & minimized spline sample program. Added test demonstrating struct array initializer problem #223
|
2019-07-16 22:32:41 +02:00 |
|
Jesper Gravgaard
|
33b506902f
|
Optimized & minimized spline sample program. Found a few TODO's regarding struct unwinding.
|
2019-07-16 22:03:16 +02:00 |
|
Jesper Gravgaard
|
eba674bd44
|
Added spline sample. Added many fragments. Fixed error in line where from&to are the same. Fixed cast to dword/sdword. Fixed unwinding of members that are themselves structs. Closes #222
|
2019-07-16 21:16:00 +02:00 |
|
Jesper Gravgaard
|
dd8ccaf186
|
Added spline test, a bunch of missing fragments and special ror/rol 8 handling.
|
2019-07-15 23:45:52 +02:00 |
|
Jesper Gravgaard
|
69e264d9c5
|
Added script for building & deploying local version of kickc.
|
2019-07-15 18:35:25 +02:00 |
|
Jesper Gravgaard
|
13509b59cb
|
Added optimize option for using a fragment cache. Yields no significant performance benefit.
|
2019-07-15 09:47:47 +02:00 |
|
Jesper Gravgaard
|
d1333cdbe4
|
Added a few missing fragments.
|
2019-07-14 20:40:44 +02:00 |
|
jespergravgaard
|
9264967b3f
|
fixed tests
|
2019-07-11 06:31:29 +02:00 |
|
jespergravgaard
|
5b7ba4e2d8
|
Added logarithm skeleton
|
2019-07-11 01:14:29 +02:00 |
|
jespergravgaard
|
57cdb8dab4
|
Implemented calloc()
|
2019-07-11 00:04:18 +02:00 |
|
jespergravgaard
|
57bbe42711
|
Fixed problem with small negative constant unsigned words.
|
2019-07-10 20:54:35 +02:00 |
|
jespergravgaard
|
fd63efafe2
|
Added a bresenham line routine to singlecolor bitmap bitmap2.kc
|
2019-07-10 18:43:42 +02:00 |
|