Jesper Gravgaard
|
eb6cf1188c
|
Working on a new live range analysis and the ability to handle constants symbolically. TODOs remaining: Live range overlap analysis of register combinations inside methods must also look at registers alive at all calls. Examine why temp-vars are used in flipper. Examine why flipper is plotted in a wrong position on the screen. Implement constants into the symbol table and support them in code. Implement new constant consolidation steps.
|
2017-09-04 00:49:00 +02:00 |
|
jespergravgaard
|
61d16b3030
|
Implemented phi transition reuse when transitions are identical on a register basis
|
2017-08-26 02:05:46 +02:00 |
|
jespergravgaard
|
83edd3e21b
|
Implemented phi transition reuse when transitions are identical
|
2017-08-26 01:15:57 +02:00 |
|
jespergravgaard
|
23d9af8420
|
Started work on phi transition optimization
|
2017-08-23 09:37:16 +02:00 |
|
Jesper Gravgaard
|
f72585e3c0
|
Fixed clobber issues caused by statement idx of phi statementsin ASM changed to the call-statement instead of the phi.
|
2017-08-22 14:57:04 +02:00 |
|
jespergravgaard
|
64c690f925
|
Improved ZP register ASM naming further. (issue with allocation not choosing optimal registers in some cases - a few tests left failing)
|
2017-08-21 08:27:34 +02:00 |
|
jespergravgaard
|
029227652e
|
Improved zp register references across scopes.
|
2017-08-21 01:19:43 +02:00 |
|
jespergravgaard
|
5a91902c21
|
Moved register allocation into symbol table Variable
|
2017-08-20 21:41:17 +02:00 |
|
jespergravgaard
|
1982d01297
|
renames
|
2017-08-20 21:20:07 +02:00 |
|
jespergravgaard
|
ffce3298ef
|
Moved bresenham into main()
|
2017-08-20 21:12:40 +02:00 |
|
jespergravgaard
|
2707bd5861
|
Working on outputting variable labels in ASM. Moving register allocation & constant values into symbol table.
|
2017-08-20 21:09:03 +02:00 |
|
jespergravgaard
|
df631667a0
|
Changed ranged loop to only accept constants.
|
2017-08-18 08:40:15 +02:00 |
|
jespergravgaard
|
14dfaee552
|
Implemented for() loops.
|
2017-08-18 00:28:39 +02:00 |
|
jespergravgaard
|
5a075a0ce4
|
Added for syntax to parser
|
2017-08-14 08:34:02 +02:00 |
|
jespergravgaard
|
d5f62dfd11
|
Improved program flow for if-statements without else by inverting the condition and jumping over the stmts. Improved fragment synthesizing.
|
2017-08-13 03:03:56 +02:00 |
|
jespergravgaard
|
7b30fa4f2c
|
Added ifmin() for optimizing if() block sequence.
|
2017-08-13 00:44:48 +02:00 |
|
jespergravgaard
|
4741a2d22e
|
Improve pass structure
|
2017-08-13 00:30:51 +02:00 |
|
jespergravgaard
|
9c8372b989
|
Redundant and unused label elimination in ASM.
|
2017-08-12 21:27:36 +02:00 |
|
jespergravgaard
|
5f27eba623
|
Fixed scope issues in ASM. Added scope to blocks.
|
2017-08-12 20:16:07 +02:00 |
|
Jesper Gravgaard
|
15a9415d63
|
Improved ASM readability
|
2017-08-12 18:30:21 +02:00 |
|
jespergravgaard
|
1577fe026e
|
Changed ASM numbers to HEX
|
2017-08-12 02:55:20 +02:00 |
|
jespergravgaard
|
7555d45b34
|
Finally got a hold of live ranges when propagating back over calls.
|
2017-08-12 02:30:37 +02:00 |
|
jespergravgaard
|
9334e435da
|
refactored addpoint to increment its own counter
|
2017-08-12 00:31:14 +02:00 |
|
jespergravgaard
|
7c7e0ec08f
|
Added more minimal test for modifying globals
|
2017-08-12 00:23:55 +02:00 |
|
jespergravgaard
|
450fc1add0
|
Added more minimal test for modifying globals
|
2017-08-12 00:22:46 +02:00 |
|
jespergravgaard
|
fc859e8a03
|
Implemented ability of procedures to modify globals
|
2017-08-12 00:15:59 +02:00 |
|
jespergravgaard
|
867d78fd31
|
Implemented ASM voronoi with squared distance function.
|
2017-08-07 23:17:56 +02:00 |
|
jespergravgaard
|
1f4ea4f68c
|
Scrren init moved out of main loop.
|
2017-08-07 21:40:32 +02:00 |
|
jespergravgaard
|
3eaed1c946
|
Animated voronoi. Added fragments as needed.
|
2017-08-07 21:23:35 +02:00 |
|
jespergravgaard
|
772a2a3761
|
Removed unnecessary fragments
|
2017-08-07 17:53:43 +02:00 |
|
jespergravgaard
|
9f5efab3ee
|
Less logging during uplift.
|
2017-08-07 17:17:14 +02:00 |
|
jespergravgaard
|
d640c53033
|
Added fragment manager with ability to do fragment synthesis from sub-fragments. Added more fragments.
|
2017-08-07 16:35:10 +02:00 |
|
jespergravgaard
|
2a19c52c1d
|
Implemented Voronoi renderer. Added missing fragments. Added combination limit and an iteration trying to uplift the remains.
|
2017-08-07 14:53:25 +02:00 |
|
jespergravgaard
|
ec1838adba
|
Added ALU uplift potential analysis
|
2017-08-06 17:00:10 +02:00 |
|
jespergravgaard
|
3624e3ec27
|
Fixed two register allocation issues. 1. disallow two variables in the same phi-block to be allocated to the same register. 2. When analyzing potential registers call parameter phi statements are no longer examined.
|
2017-08-06 15:41:06 +02:00 |
|
jespergravgaard
|
0dae641df0
|
Optimized ASM instruction lookup by introducing a map.
|
2017-08-06 15:01:11 +02:00 |
|
jespergravgaard
|
0da6c7af6a
|
Optimized fragment generation by caching loaded fragment files.
|
2017-08-06 14:14:58 +02:00 |
|
jespergravgaard
|
439a70e52a
|
Implemented potential register elimination based on clobber analysis of individual statements.
|
2017-08-06 13:31:29 +02:00 |
|
Jesper Gravgaard
|
0e5bd97e21
|
Moved uplift combination testing to separate pass. Made interface for limiting the relevant registers for each equivalence class - improving speed of the combination testing.
|
2017-08-03 15:05:36 +02:00 |
|
jespergravgaard
|
3b99b6671c
|
Added ALU to uplift attempts
|
2017-08-03 01:08:48 +02:00 |
|
jespergravgaard
|
59d33faf92
|
Implemented new uplift score function sum(cycles*10^loopdepth). Added a lot of missing fragments. Sorted scopes so max weight scopes are allocated first.
|
2017-08-02 22:20:00 +02:00 |
|
jespergravgaard
|
b9831c9445
|
Implemented register uplift combination search. This yields near optimal register allocation - but at a calculation cost at O(4^N) where N is the number of live range equivalence classes in a scope.
|
2017-08-02 00:57:29 +02:00 |
|
jespergravgaard
|
14c8ec13bf
|
Improved segment generation
|
2017-08-01 20:38:55 +02:00 |
|
jespergravgaard
|
323e10ab37
|
Introduced Asm Segments which establish relation between ASM code and the generating ICL.
|
2017-08-01 13:58:15 +02:00 |
|
jespergravgaard
|
14c1f7e8eb
|
Now identifying undeclared variables
|
2017-08-01 01:33:42 +02:00 |
|
jespergravgaard
|
b56f634b1e
|
Merge remote-tracking branch 'gitlab/master'
|
2017-07-31 23:41:25 +02:00 |
|
jespergravgaard
|
64d9ff3f23
|
Gathered all pass results in Program.
|
2017-07-31 23:41:10 +02:00 |
|
Jesper Gravgaard
|
46dd64e46c
|
Fixed test data
|
2017-07-31 23:39:42 +02:00 |
|
Jesper Gravgaard
|
27084f8667
|
Merge remote-tracking branch 'gitlab/master'
|
2017-07-31 23:38:05 +02:00 |
|
Jesper Gravgaard
|
4a9a3d54f5
|
Fixed test data
|
2017-07-31 23:37:15 +02:00 |
|