jespergravgaard
|
e9eeafd170
|
Fixed a few errors introduced by condition simplification rewrite. Added a fragment.
|
2020-02-25 09:26:05 +01:00 |
|
jespergravgaard
|
5fd74a8d39
|
Improved tetris code by inlining two kickasm-arrays.
|
2020-02-24 22:39:09 +01:00 |
|
jespergravgaard
|
19b145c207
|
Implemented immediate variables for preserving the value of load/store variables used in simple conditions that are inlined. #359
|
2020-02-23 20:57:53 +01:00 |
|
jespergravgaard
|
6862698fb7
|
Eliminated redundant methods got getting assignments/usages in Pass2SsaOptimization.
|
2020-02-23 19:26:53 +01:00 |
|
jespergravgaard
|
2961c84bd7
|
Working on improving the condition simplification.
|
2020-02-23 10:04:51 +01:00 |
|
jespergravgaard
|
5ffae4d92a
|
Added C-source to generated test ASM.
|
2020-02-23 09:44:36 +01:00 |
|
jespergravgaard
|
dc6175a0b6
|
Working on fixing #359 problem with load/store variables and simple-conditionals.
|
2020-02-22 20:45:35 +01:00 |
|
jespergravgaard
|
d33c84488a
|
Fixed a few tests.
|
2020-02-22 12:06:47 +01:00 |
|
jespergravgaard
|
7dacbb2c75
|
Fixed code for __ma.
|
2020-02-15 09:30:27 +01:00 |
|
jespergravgaard
|
f45ba8eb10
|
Fixed early constant identification. Added test for constant initValue.
|
2020-02-15 09:00:57 +01:00 |
|
jespergravgaard
|
7b8488ef29
|
Fixed the last __ma exceptions.
|
2020-02-14 23:01:56 +01:00 |
|
jespergravgaard
|
3770874860
|
Unrolled condition variables are now converted to SSA automatically in pass 1.
|
2020-02-14 15:55:04 +01:00 |
|
jespergravgaard
|
d0bc5af94b
|
Now identifying USE's that are also DEFINE's as unused.
|
2020-02-14 10:57:29 +01:00 |
|
jespergravgaard
|
0beeab9be2
|
Refactored live ranges to work for multiple-assign variables. The price is that a few unused variables are no longer optimized away since they depend only on them selves. See duplace-loop-problem.kc.
|
2020-02-14 00:32:19 +01:00 |
|
Jesper Gravgaard
|
a5d14105d8
|
Fixed const in test.
|
2020-02-13 18:26:52 +01:00 |
|
Jesper Gravgaard
|
f92e750b61
|
Fixed removal of unused vars.
|
2020-02-13 13:46:54 +01:00 |
|
jespergravgaard
|
f106f953a8
|
Working on memory model ma_mem. Added some support for local static variables.
|
2020-02-13 11:36:27 +01:00 |
|
jespergravgaard
|
600a80dbcc
|
Fixed last errors for ssa_mem var-model.
|
2020-02-12 23:26:20 +01:00 |
|
jespergravgaard
|
687705f5d2
|
Eliminated old getAssignment() method.
|
2020-02-12 22:24:29 +01:00 |
|
jespergravgaard
|
3d7914c31f
|
Eliminated old getAssignment() methods.
|
2020-02-12 22:09:43 +01:00 |
|
jespergravgaard
|
6c4a99240d
|
Eliminated old getAssignment() methods.
|
2020-02-12 08:21:48 +01:00 |
|
jespergravgaard
|
92acd45493
|
Eliminated old getAssignment() methods.
|
2020-02-12 00:47:01 +01:00 |
|
jespergravgaard
|
45019c1116
|
Fixed test
|
2020-02-11 22:04:01 +01:00 |
|
Jesper Gravgaard
|
f2ef18829f
|
Improving synthesis
|
2020-02-11 21:00:04 +01:00 |
|
Jesper Gravgaard
|
ba20025165
|
Merge remote-tracking branch 'origin/master'
# Conflicts:
# src/main/java/dk/camelot64/kickc/model/VariableBuilder.java
|
2020-02-11 18:25:13 +01:00 |
|
Jesper Gravgaard
|
759e17829e
|
Working on fixing ma_mem variable model. Improving synths.
|
2020-02-11 18:23:19 +01:00 |
|
jespergravgaard
|
2daf1c0f87
|
Added a few fragments.
|
2020-02-10 21:57:15 +01:00 |
|
jespergravgaard
|
8fe8773dc1
|
Fixed fragment tests. Using new VarAssignments method in alias elimination.
|
2020-02-10 20:14:22 +01:00 |
|
Jesper Gravgaard
|
8f2d766e52
|
Working on fixing ma_mem variable model.
|
2020-02-10 18:39:25 +01:00 |
|
jespergravgaard
|
bd9a403b64
|
Improving ssa_mem variable support.
|
2020-02-10 00:33:16 +01:00 |
|
jespergravgaard
|
353d45ab65
|
Improving ssa_mem variable support.
|
2020-02-09 18:50:17 +01:00 |
|
jespergravgaard
|
9faabae052
|
Merged memory-variables to main. Includes support for C-standard structs, much better constant identification, much better handling of arrays/structs inside structs, removal of string type, initialization/copying using memcpy/memset and new #pragma var_model().
|
2020-02-09 16:54:14 +01:00 |
|
jespergravgaard
|
4f54062a43
|
Added test with two different variable models.
|
2020-02-09 15:06:16 +01:00 |
|
jespergravgaard
|
be05569013
|
Fixed tests
|
2020-02-09 14:30:27 +01:00 |
|
jespergravgaard
|
a119d38b5e
|
Added a few tests for the new #pragma var_model().
|
2020-02-09 12:55:17 +01:00 |
|
jespergravgaard
|
c8523c488e
|
Now using VariableBuilderConfig for setting up SSA/MA & MemoryArea.
|
2020-02-09 12:44:36 +01:00 |
|
Jesper Gravgaard
|
eed8d58d74
|
Now using VariableBuilderConfig for SSA/MA.
|
2020-02-09 11:48:17 +01:00 |
|
jespergravgaard
|
df9bde2ee8
|
Added pragma var_model(...) for configuring memory and optimization model for variables.
|
2020-02-08 10:35:43 +01:00 |
|
jespergravgaard
|
f73b048d2e
|
Eliminated SymbolType.STRING
|
2020-02-06 22:52:23 +01:00 |
|
jespergravgaard
|
a612562dc7
|
Work in progress: eliminating SymbolType.STRING
|
2020-02-06 22:29:41 +01:00 |
|
jespergravgaard
|
fda0940062
|
Work in progress: eliminating SymbolType.STRING
|
2020-02-06 22:20:53 +01:00 |
|
jespergravgaard
|
a231b7495f
|
Collecting SIZEOF/INDEXOF constants in one class. Dropping defunct struct pointer rewrite pass.
|
2020-02-06 19:22:56 +01:00 |
|
jespergravgaard
|
13ab7e8da3
|
Removed unnecesary address-of handling.
|
2020-02-06 18:19:02 +01:00 |
|
jespergravgaard
|
45ad6b64b0
|
Dropped inferred volatile.
|
2020-02-06 18:07:56 +01:00 |
|
jespergravgaard
|
1a978bc82d
|
Fixed struct address-of handling.
|
2020-02-06 15:40:27 +01:00 |
|
jespergravgaard
|
345b154264
|
Removed all old unwinding code.
|
2020-02-06 10:18:46 +01:00 |
|
jespergravgaard
|
b9cdfa5f39
|
Removed all the old unwinding code.
|
2020-02-06 09:49:32 +01:00 |
|
jespergravgaard
|
64afa1791e
|
Call parameters rewrite now using ValueSources.
|
2020-02-06 01:26:46 +01:00 |
|
jespergravgaard
|
8a3039112b
|
Call LValue rewrite now using ValueSources.
|
2020-02-06 01:19:34 +01:00 |
|
jespergravgaard
|
0057e16517
|
StructMemberReferences rewrite now using ValueSources.
|
2020-02-06 01:08:55 +01:00 |
|
jespergravgaard
|
511020649a
|
Working on new ValueSource based unwinding. Most of the old unwinding code is now unused.
|
2020-02-05 17:29:25 +01:00 |
|
Jesper Gravgaard
|
b17d4ab8fc
|
Unwindings moving to ValueSource
|
2020-02-05 09:24:55 +01:00 |
|
jespergravgaard
|
0336b18a62
|
Working on new ValueSource based unwinding!
A few __ptr__ problems in test outputs remain.
|
2020-02-05 00:45:08 +01:00 |
|
jespergravgaard
|
e1258f943d
|
Working on new ValueSource based unwinding!
|
2020-02-04 20:52:58 +01:00 |
|
jespergravgaard
|
a50b295c45
|
Working on new ValueSource based unwinding!
|
2020-02-03 08:30:17 +01:00 |
|
jespergravgaard
|
ae79e813a2
|
Added test copying struct value into array.
|
2020-02-02 23:41:26 +01:00 |
|
jespergravgaard
|
2ebf7b698b
|
Added logging when postponing unwindings.
|
2020-02-02 23:06:59 +01:00 |
|
jespergravgaard
|
d096790786
|
Fixed missing BIN-file for NMI sample example code. Closes #357
|
2020-02-02 22:56:21 +01:00 |
|
jespergravgaard
|
3e5529c0f1
|
Added 2 complex struct copy tests.
|
2020-02-02 22:24:25 +01:00 |
|
jespergravgaard
|
ac02d1bbc2
|
Added missing fragments.
|
2020-02-02 15:49:20 +01:00 |
|
jespergravgaard
|
1fffef91f5
|
Added a bunch of complex struct copying tests.
|
2020-02-02 15:00:14 +01:00 |
|
jespergravgaard
|
9db24ceb01
|
Removed main return value
|
2020-02-02 10:24:44 +01:00 |
|
jespergravgaard
|
98ee476b5b
|
Added another struct test.
|
2020-02-02 09:47:51 +01:00 |
|
jespergravgaard
|
d60a31f188
|
Merged memvars-328 into memvars-struct.
|
2020-02-02 09:12:49 +01:00 |
|
jespergravgaard
|
070380b4af
|
Merge branch '328-memvars' into memvars-struct
# Conflicts:
# src/test/java/dk/camelot64/kickc/test/TestPrograms.java
|
2020-02-02 09:06:31 +01:00 |
|
jespergravgaard
|
7707e64ad8
|
Adding Millfork Benchmarks to test suite.
|
2020-02-02 08:47:47 +01:00 |
|
jespergravgaard
|
4479efb22d
|
Adding Millfork Benchmarks to test suite.
|
2020-02-01 19:07:52 +01:00 |
|
jespergravgaard
|
5203092d3a
|
Updated to C types.
|
2020-02-01 10:54:51 +01:00 |
|
jespergravgaard
|
7665387333
|
Updated to C types.
|
2020-02-01 10:48:47 +01:00 |
|
jespergravgaard
|
bb3be5655c
|
Updated to C types.
|
2020-02-01 10:38:53 +01:00 |
|
jespergravgaard
|
d51bfe5c66
|
Fixed test!
|
2020-01-20 23:33:25 +01:00 |
|
jespergravgaard
|
3b68c1b33e
|
re-enabled test.
|
2020-01-20 21:41:14 +01:00 |
|
jespergravgaard
|
bcb617ef58
|
Removed offending test.
|
2020-01-20 06:51:13 +01:00 |
|
jespergravgaard
|
68b4794049
|
Optimized 32-bit plus 8-bit constant fragment.
|
2020-01-20 00:30:05 +01:00 |
|
jespergravgaard
|
d28bb8245b
|
Changed fragment optimization _plus_2 to only be used for byte values.
|
2020-01-19 23:37:15 +01:00 |
|
jespergravgaard
|
06a2e00540
|
Added bulk unwinding for struct pointer derefs.
|
2020-01-19 22:10:02 +01:00 |
|
Jesper Gravgaard
|
7ea2453733
|
Refactored unwindings into separate classes for better reuse.
|
2020-01-19 19:50:04 +01:00 |
|
jespergravgaard
|
a32f783b74
|
Global struct values are not per default load/store, main-memory.
|
2020-01-12 22:53:57 +01:00 |
|
jespergravgaard
|
ffdc590b90
|
Fixed tests
|
2020-01-12 14:09:16 +01:00 |
|
jespergravgaard
|
a1f490ed49
|
Fixed tests
|
2020-01-12 12:28:23 +01:00 |
|
jespergravgaard
|
d5f4b1f690
|
Init-value of global load/store memory variables is now output directly into data-statements.
|
2020-01-11 14:55:27 +01:00 |
|
jespergravgaard
|
2eb5aaa24f
|
Added support for init-value of global load/store memory variables.
|
2020-01-11 13:39:10 +01:00 |
|
jespergravgaard
|
030a379845
|
Struct values can now be bulk initialized / copied in assignments. Still needs work for global variables and more.
|
2020-01-09 00:30:16 +01:00 |
|
jespergravgaard
|
26be14f7ee
|
Working on improvements regarding global initializers and unnecessary unwinding of constant structs. Moved most unwinding to separate package.
|
2020-01-07 08:28:57 +01:00 |
|
jespergravgaard
|
4eaa0c5385
|
Working on improvements regarding global initializers and unnecessary unwinding of constant structs. Moved most unwinding to separate package.
|
2020-01-07 00:25:47 +01:00 |
|
jespergravgaard
|
6a9f59cda1
|
Working on improvements regarding global initializers and unnecessary unwinding of constant structs. Introduced RValueUnwinding for handling a single value.
|
2020-01-02 14:36:02 +01:00 |
|
jespergravgaard
|
db595d0b53
|
Structs with array members finally working. However import improvements remain regarding global initializers and unnecessary unwinding of constant structs.
|
2020-01-02 00:31:29 +01:00 |
|
jespergravgaard
|
8ae248b1c2
|
Fixed a few error messages
|
2020-01-01 18:47:33 +01:00 |
|
jespergravgaard
|
7b81b51bc0
|
Rewrote constant identification to allow nested arrays/structs. TODO: function-as-array
|
2020-01-01 18:27:53 +01:00 |
|
Jesper Gravgaard
|
4af8b1a833
|
Added tests for initializing array inside struct using inline string and inline array initializer.
|
2019-12-29 15:05:24 +01:00 |
|
Jesper Gravgaard
|
2cf4a3c347
|
Added support for initializing & copying array inside struct using intrinsic memset/memcpy.
|
2019-12-28 22:33:52 +01:00 |
|
jespergravgaard
|
4bd3d4a6b1
|
Working on structs with arrays.
|
2019-12-28 02:14:05 +01:00 |
|
jespergravgaard
|
b72b2f5910
|
Fixing struct size for structs containing arrays.
|
2019-12-28 01:59:26 +01:00 |
|
jespergravgaard
|
e8a0478e5f
|
Implemented C-classic struct functionality for loadstore struct variables. Works for most scenarios: declaration, initialization, assignment, member-access. Structs containing arrays not working yet.
|
2019-12-27 22:35:05 +01:00 |
|
jespergravgaard
|
3b043e11a7
|
Changed syntax for function signatures.
|
2019-12-26 09:51:41 +01:00 |
|
jespergravgaard
|
34ca539dd5
|
Add support for upper/lower case expansion of filename in linker script. Closes #345
|
2019-12-26 09:28:53 +01:00 |
|
jespergravgaard
|
08d268f130
|
Added some hardcoded address parameter tests.
|
2019-12-26 00:57:19 +01:00 |
|
jespergravgaard
|
655dc48b7b
|
Added tests for __address(). VariableBuilder turns __address() into multiple-assignment. Fixed errors for multiple-assignment variables.
|
2019-12-26 00:17:01 +01:00 |
|
jespergravgaard
|
6ce7ac901e
|
Added another volatile test.
|
2019-12-25 23:03:40 +01:00 |
|
jespergravgaard
|
32752eb4cb
|
Improved C64 KERNAL loading example.
|
2019-12-25 20:26:03 +01:00 |
|