drmortalwombat
|
e593e2affb
|
Loop optimizations
|
2023-06-08 20:27:11 +02:00 |
|
drmortalwombat
|
7d3dc493c0
|
Fix inter instruction cross block move
|
2023-05-26 20:16:19 +02:00 |
|
drmortalwombat
|
5564b01d11
|
Fix sample build crash on linux
|
2023-05-23 11:05:29 +02:00 |
|
drmortalwombat
|
e6b46a3acf
|
More aggressive value forwarding with local arrays
|
2023-05-20 13:49:34 +02:00 |
|
drmortalwombat
|
d58e74e19a
|
Bump version number
|
2023-05-19 22:49:54 +02:00 |
|
drmortalwombat
|
2ac276458a
|
Optimize loop invariants in single entry/exit loops
|
2023-05-19 21:25:29 +02:00 |
|
drmortalwombat
|
d4caa6bb71
|
Optimize right shift of byte values with variable shift distance
|
2023-05-16 19:07:59 +02:00 |
|
drmortalwombat
|
8142ed3e72
|
Merge branch 'main' of https://github.com/drmortalwombat/oscar64
|
2023-05-14 19:01:41 +02:00 |
|
polluks
|
1616b9335f
|
Fixed typos
|
2023-05-13 15:57:46 +02:00 |
|
drmortalwombat
|
45963102b8
|
Fix lower bound of byte -- operator
|
2023-05-12 14:17:35 +02:00 |
|
drmortalwombat
|
4aa6b1c47d
|
Improve int dependency in loop analysis
|
2023-05-07 17:46:53 +02:00 |
|
drmortalwombat
|
0639fdc008
|
Unify instruction dependency check in optimizer
|
2023-05-06 18:28:59 +02:00 |
|
drmortalwombat
|
7d12fd4c02
|
Fix same XY optimization
|
2023-05-04 11:32:12 +02:00 |
|
drmortalwombat
|
30b3ed610e
|
Keep unused variable stores if optimization is turned off
|
2023-05-01 17:10:27 +02:00 |
|
drmortalwombat
|
6308f22f25
|
Fix warnings
|
2023-04-12 19:02:27 +02:00 |
|
drmortalwombat
|
e23ab50512
|
Add local variables to debug file
|
2023-04-09 19:19:57 +02:00 |
|
drmortalwombat
|
85df217c50
|
Add warning for const integer truncation
|
2023-04-09 09:45:13 +02:00 |
|
drmortalwombat
|
97bb7981a3
|
Improve struct copy alias analysis
|
2023-04-06 17:14:53 +02:00 |
|
drmortalwombat
|
7803e2ecc4
|
Fix infinite loop in compiler trying to optimize infinite loops
|
2023-04-04 08:37:26 +02:00 |
|
drmortalwombat
|
32ea493c17
|
Prepare per function optimization config using pragmas
|
2023-04-02 19:04:10 +02:00 |
|
drmortalwombat
|
2f1172076a
|
Add source level debug information
|
2023-03-28 21:01:17 +02:00 |
|
drmortalwombat
|
c2c0244990
|
More native code common subexpression elimination
|
2023-03-24 20:23:10 +01:00 |
|
drmortalwombat
|
6af03b34ad
|
Fix infinite optimizer loop
|
2023-03-21 08:09:12 +01:00 |
|
drmortalwombat
|
9c5e018c5a
|
More simple common subexpression elimination in native code
|
2023-03-17 09:32:22 +01:00 |
|
drmortalwombat
|
83869ad3a0
|
Shortcut redundant conditional branch sequences
|
2023-03-13 22:13:02 +01:00 |
|
drmortalwombat
|
ecd0fbd364
|
Fix over eager loop load/store optimizations for values needed after loop
|
2023-03-12 20:27:00 +01:00 |
|
drmortalwombat
|
7d6f637948
|
Fix broken volatile check in (),y
|
2023-03-11 11:29:35 +01:00 |
|
drmortalwombat
|
0f4f0ed297
|
Improve compiler speed
|
2023-03-08 08:37:43 +01:00 |
|
drmortalwombat
|
4117c9a553
|
More functions for reu library
|
2023-02-25 21:02:06 +01:00 |
|
drmortalwombat
|
153c0ef4fa
|
Short loop optimizations
|
2023-02-22 22:43:35 +01:00 |
|
drmortalwombat
|
a91112c05c
|
Pointer in loop optimizations
|
2023-02-19 18:07:25 +01:00 |
|
drmortalwombat
|
23091a0536
|
Combining consecutive pointer arithmetic
|
2023-02-12 20:09:02 +01:00 |
|
drmortalwombat
|
71a071fea4
|
Loop direction inversion for simple counts
|
2023-02-11 10:36:46 +01:00 |
|
drmortalwombat
|
acbd70a84f
|
Fix XY register propagation for incomming fast parameters
|
2023-02-10 18:10:41 +01:00 |
|
drmortalwombat
|
5852ca5aea
|
Shortcut conditional branch blocks in intermediate code
|
2023-02-08 08:51:58 +01:00 |
|
drmortalwombat
|
932a65be8c
|
Optimize cross block XY register usage
|
2023-02-02 20:10:35 +01:00 |
|
drmortalwombat
|
0fae7abd72
|
Optimize simple inline assembler code
|
2023-01-21 22:41:13 +01:00 |
|
drmortalwombat
|
677de2508b
|
Shuffle temp moves to avoid duplicates
|
2023-01-21 08:42:22 +01:00 |
|
drmortalwombat
|
29611ec3db
|
Fix striped constant pointer initializer
|
2023-01-19 19:03:02 +01:00 |
|
drmortalwombat
|
0b30258f80
|
Dataflow optimizations
|
2023-01-17 22:42:02 +01:00 |
|
drmortalwombat
|
02db5b5eb1
|
Static call graph analysis for function arguments
|
2023-01-15 18:38:18 +01:00 |
|
drmortalwombat
|
761206d009
|
Propagation of unsigend attribute accross function arguments
|
2023-01-13 20:14:16 +01:00 |
|
drmortalwombat
|
fdb051bd2b
|
Fix right + left shift optimization when shifting from long to int
|
2023-01-13 15:41:21 +01:00 |
|
drmortalwombat
|
ffe07a6a3c
|
Optimize multiplication with short negative constants
|
2023-01-07 13:41:59 +01:00 |
|
drmortalwombat
|
59d77504c8
|
Fix compile time load of const striped array data
|
2023-01-01 18:34:52 +01:00 |
|
drmortalwombat
|
1a06102668
|
Shortcut identical consecutive conditional branches
|
2022-12-25 22:14:12 +01:00 |
|
drmortalwombat
|
5696691a19
|
Bump version number
|
2022-12-23 22:50:13 +01:00 |
|
drmortalwombat
|
9daf4fa621
|
Some more cross block pointer forwarding
|
2022-12-18 20:33:52 +01:00 |
|
drmortalwombat
|
e202f8e5b5
|
Bump version number
|
2022-12-13 20:16:11 +01:00 |
|
drmortalwombat
|
0aa9ca0c70
|
Bump Version number
|
2022-12-10 16:15:04 +01:00 |
|
drmortalwombat
|
f56fb9e505
|
Fix crash in optimizer when declaring too many unused local variables
|
2022-12-06 15:55:31 +01:00 |
|
drmortalwombat
|
8b631d564e
|
Add autotest for striped arrays
|
2022-12-03 13:28:03 +01:00 |
|
drmortalwombat
|
9c6b745993
|
Fix self destruct of load store forwarding dict
|
2022-11-30 22:47:13 +01:00 |
|
drmortalwombat
|
ec31b845b8
|
Fix type check of pointers derived by address of operator
|
2022-11-30 15:07:06 +01:00 |
|
drmortalwombat
|
bfe6311ca4
|
Add assignment of structs from and to striped arrays
|
2022-11-29 18:11:42 +01:00 |
|
drmortalwombat
|
02e4d4bd1b
|
Optimize indexing in loops
|
2022-11-26 14:12:13 +01:00 |
|
drmortalwombat
|
a5a27c039e
|
Fix __asume declaration in loop causing loss of temp chain
|
2022-11-20 17:35:31 +01:00 |
|
drmortalwombat
|
c6d0f44364
|
Fix unsigend int to/from float conversion
|
2022-11-19 10:58:44 +01:00 |
|
drmortalwombat
|
42b4f46356
|
Add striped array memory layout
|
2022-11-16 08:59:02 +01:00 |
|
drmortalwombat
|
93943f8f87
|
Fix pre decrement operator l value return type
|
2022-10-25 17:12:36 +02:00 |
|
drmortalwombat
|
e52e554fec
|
Add warning for missing return statement
|
2022-10-16 14:06:27 +02:00 |
|
drmortalwombat
|
4ff762b711
|
Add warning/error for unassigned variable access
|
2022-10-16 13:33:20 +02:00 |
|
drmortalwombat
|
77010a0ab2
|
Fix propagation of volatile memory reads in loops
|
2022-10-15 17:44:49 +02:00 |
|
drmortalwombat
|
4a49456a57
|
Improve accu train movement
|
2022-10-09 13:44:59 +02:00 |
|
drmortalwombat
|
4daecdc51a
|
Optimize select statement
|
2022-10-03 18:56:17 +02:00 |
|
drmortalwombat
|
3e59f47748
|
Loop index optimizations
|
2022-10-03 10:50:24 +02:00 |
|
drmortalwombat
|
0c633d114c
|
Added late stage loop optimization for indexed offset addressing
|
2022-09-29 15:32:00 +02:00 |
|
drmortalwombat
|
121f0476e1
|
Bump version number
|
2022-09-24 14:31:09 +02:00 |
|
drmortalwombat
|
03be76f7f5
|
Fix postcondition in false branch of integer range estimation after signed less than comparison
|
2022-09-22 21:57:37 +02:00 |
|
drmortalwombat
|
259abf4c4b
|
Improve compiler speed
|
2022-09-20 15:01:47 +02:00 |
|
drmortalwombat
|
01365c38b7
|
Move more invariants out of complex loops
|
2022-09-18 12:59:01 +02:00 |
|
drmortalwombat
|
5156055e53
|
Fix index subtract using wrong direction
|
2022-09-17 22:57:01 +02:00 |
|
drmortalwombat
|
0835b90219
|
Optimize negative const offsets in array index
|
2022-09-17 22:36:17 +02:00 |
|
drmortalwombat
|
bd2e198339
|
Fix loop exit condition z when using xy as loop invariants
|
2022-09-17 18:33:48 +02:00 |
|
drmortalwombat
|
49a822afbf
|
Fix load int range estimation
|
2022-09-17 16:15:35 +02:00 |
|
drmortalwombat
|
f0c36c6400
|
Propagate sign and zero information cross branches
|
2022-09-11 11:50:57 +02:00 |
|
drmortalwombat
|
7dd8f4dae3
|
Fix easyflash placement of auto copied main section
|
2022-08-25 18:01:58 +02:00 |
|
drmortalwombat
|
1805e311b8
|
Add data flow calculation before moving const op ups to fix change of used dst temps in other branch
|
2022-08-15 22:08:00 +02:00 |
|
drmortalwombat
|
65fc43c123
|
More multi path constant folding
|
2022-08-14 17:52:58 +02:00 |
|
drmortalwombat
|
b9396542f0
|
Add page level unrolling
|
2022-08-07 22:29:33 +02:00 |
|
drmortalwombat
|
f0deaab394
|
Add charpad and spritepad import
|
2022-08-05 18:08:10 +02:00 |
|
drmortalwombat
|
ff1377f7bb
|
Optimize simple search loops
|
2022-07-30 12:36:05 +02:00 |
|
drmortalwombat
|
e1a30a25c7
|
Fix data dependency violation in cross diamond movement
|
2022-07-26 19:36:10 +02:00 |
|
drmortalwombat
|
f9f2516a65
|
Move accu eval trains up to connect them
|
2022-07-23 14:12:11 +02:00 |
|
drmortalwombat
|
0742be3204
|
Improve dataflow analysis
|
2022-07-16 14:14:02 +02:00 |
|
drmortalwombat
|
67e3071920
|
Fix cascaded indexing with byte postincrement
|
2022-07-12 17:05:23 +02:00 |
|
drmortalwombat
|
9df036f4d4
|
Fix uninitialized variable
Fixed uninitialized variable in intermediate code generation leading to divergent windows and linux builds
|
2022-07-10 16:09:39 +02:00 |
|
drmortalwombat
|
f3197d641c
|
Rebuild intermediate data flow set after final basic block merge
|
2022-07-10 15:41:51 +02:00 |
|
drmortalwombat
|
5f8797b4be
|
Fix regression with open array index by byte generated by a subtract
|
2022-07-10 10:07:33 +02:00 |
|
drmortalwombat
|
5d51ea13c5
|
Improve register allocator
|
2022-07-08 21:30:22 +02:00 |
|
drmortalwombat
|
eb55b2f55d
|
Remove dangling tail recursion rts after jmp
|
2022-07-03 13:13:32 +02:00 |
|
drmortalwombat
|
bcc59a9afb
|
Add intermediat code select operator
|
2022-07-02 14:53:00 +02:00 |
|
drmortalwombat
|
ba661759fb
|
Fix reordering of function calls
|
2022-06-30 20:28:36 +02:00 |
|
drmortalwombat
|
fdcaf54666
|
Add unroll pragma for simple loops
|
2022-06-30 09:33:11 +02:00 |
|
drmortalwombat
|
350403121d
|
Move load temporary register moves out of loops
|
2022-06-26 15:15:59 +02:00 |
|
drmortalwombat
|
2eeef2d71c
|
Fix data dependency lost due to instruction reshuffling
|
2022-06-22 22:09:32 +02:00 |
|
drmortalwombat
|
002c10ad13
|
Optimize array access and value propagation across simple loops
|
2022-06-21 20:57:58 +02:00 |
|
drmortalwombat
|
3cdc9032b4
|
Fix parameter loss in intermediate code branch forwarding
|
2022-06-19 18:31:07 +02:00 |
|
drmortalwombat
|
ecfb206d1c
|
Improve zero page register allocator
|
2022-06-19 15:20:53 +02:00 |
|
drmortalwombat
|
5000d521a1
|
Intermediate code generator cleanup
|
2022-06-18 20:21:41 +02:00 |
|
drmortalwombat
|
fc7bb2c377
|
Optimize parameter handling in loops
|
2022-06-18 17:32:14 +02:00 |
|
drmortalwombat
|
e7332192c0
|
Fix over eager elimination of byte to word conversion
|
2022-06-14 22:29:42 +02:00 |
|
drmortalwombat
|
6e37060c24
|
More aggressive reverse value range limit forwarding
|
2022-06-12 13:39:46 +02:00 |
|
drmortalwombat
|
a81f810a63
|
Size optimizations
|
2022-06-10 15:56:08 +02:00 |
|
drmortalwombat
|
a480e5e922
|
Fix overeager load forwarding
|
2022-06-06 22:26:58 +02:00 |
|
drmortalwombat
|
36a5eaae00
|
Propagate independent instructions across diamond shaped basic blocks
|
2022-06-04 20:56:28 +02:00 |
|
drmortalwombat
|
a86f5b877a
|
Upstream variant constant propagation
|
2022-05-29 21:02:57 +02:00 |
|
drmortalwombat
|
d833ca6834
|
Use array of struct assignments for index range validation
|
2022-05-26 13:55:00 +02:00 |
|
drmortalwombat
|
3351ee81cc
|
Extend static stack allocation to zero page spilling
|
2022-05-22 13:22:36 +02:00 |
|
drmortalwombat
|
e0f87c676c
|
Eliminate non existing data dependencies
|
2022-05-21 13:39:12 +02:00 |
|
drmortalwombat
|
9d18aef634
|
Optimize interval comparison cascades
|
2022-05-15 22:18:42 +02:00 |
|
drmortalwombat
|
46fe117f1f
|
add alias _Bool for bool
|
2022-05-15 10:53:58 +02:00 |
|
drmortalwombat
|
e70162b2cc
|
Forward native code instruction if only used on single outgoing path
|
2022-05-12 17:55:24 +02:00 |
|
drmortalwombat
|
29bd0c8d2d
|
Optimizations for global variables
|
2022-05-07 14:03:56 +02:00 |
|
drmortalwombat
|
62d08e139b
|
Optimize pointer arithmetic in loops
|
2022-04-28 15:52:27 +02:00 |
|
drmortalwombat
|
f619c5e0ab
|
More verbose debug output
|
2022-04-25 07:57:31 +02:00 |
|
drmortalwombat
|
3a689cc7a1
|
Validate register livetime during peephole optimization
|
2022-04-23 22:11:25 +02:00 |
|
drmortalwombat
|
4cdc501a34
|
Bit shift optimizations
|
2022-04-21 08:26:04 +02:00 |
|
drmortalwombat
|
41a4db4402
|
Prepare compressed embedded data
|
2022-04-17 18:41:53 +02:00 |
|
drmortalwombat
|
72d2fc1fac
|
Reverse integer range limit calculation
|
2022-04-15 11:06:49 +02:00 |
|
drmortalwombat
|
7ed7134b53
|
Remove superfluous temporary move
|
2022-04-10 21:54:12 +02:00 |
|
drmortalwombat
|
c635ae8136
|
Optimize const and/or sequences
|
2022-04-10 12:28:39 +02:00 |
|
drmortalwombat
|
aafb4adfa2
|
Optimize linker placement, avoiding array crossing page boundaries
|
2022-04-03 11:40:23 +02:00 |
|
drmortalwombat
|
58c99a5dca
|
Add left alignment in padding for printf
|
2022-04-02 13:36:15 +02:00 |
|
drmortalwombat
|
48f97b6e60
|
Optimize compare to boolean variable
|
2022-03-31 18:16:31 +02:00 |
|
drmortalwombat
|
7bd3622bbd
|
Instructions bypassing small if branches
|
2022-03-27 22:41:29 +02:00 |
|
drmortalwombat
|
d2503aaf1f
|
Constant folding address of global and static variables
|
2022-03-27 17:18:44 +02:00 |
|
drmortalwombat
|
68e048b945
|
Fix volatile loads with unused result
|
2022-03-26 12:30:48 +01:00 |
|
drmortalwombat
|
5f0e0225e1
|
Loop MSB optimizations
|
2022-03-22 22:21:59 +01:00 |
|
drmortalwombat
|
4538f0295d
|
Fix byte to long conversion
|
2022-03-20 21:33:58 +01:00 |
|
drmortalwombat
|
dc0951ee9f
|
Order inter instructions into eval trains and sequences, optimize copyloops for size
|
2022-03-15 18:45:34 +01:00 |
|
drmortalwombat
|
a4fa4cd482
|
Basic block struct copy propagation
|
2022-03-14 14:07:09 +01:00 |
|
drmortalwombat
|
a65c802485
|
Address promotion into struct copy inter instructions
|
2022-03-14 08:35:59 +01:00 |
|
drmortalwombat
|
ea09c2aa7b
|
Static stack allocations for complex locals in non recursive calls
|
2022-03-13 15:46:03 +01:00 |
|
drmortalwombat
|
736298238e
|
Pointer and float loop optimizations
|
2022-03-12 12:52:43 +01:00 |
|
drmortalwombat
|
3cb4bd0fba
|
Fix == instead of = for assignment
|
2022-03-11 13:07:38 +01:00 |
|
drmortalwombat
|
6fe9a4f167
|
Fastcall optimization for 2nd and 3rd level calls
|
2022-03-10 16:35:35 +01:00 |
|
drmortalwombat
|
9ec2b4fdef
|
Replace JMP with branch when possible
|
2022-03-02 21:18:06 +01:00 |
|
drmortalwombat
|
2719b1156b
|
Fix over eager livetime reduction of X and Y registers
|
2022-02-26 12:35:59 +01:00 |
|
drmortalwombat
|
a2293a0ed1
|
Native code size reduction
|
2022-02-23 18:48:31 +01:00 |
|
drmortalwombat
|
2fd8d8673a
|
Oprtimize right shift multiply combination
|
2022-02-23 15:00:08 +01:00 |
|
drmortalwombat
|
ed609f124b
|
Improve loop invariant hoisting
|
2022-02-20 20:51:05 +01:00 |
|
drmortalwombat
|
46e1caaa4a
|
Some pointer index optimizations
|
2022-02-19 17:14:52 +01:00 |
|
drmortalwombat
|
6ac606c91b
|
Fix compile order based on dependency graph
|
2022-02-19 12:58:51 +01:00 |
|
drmortalwombat
|
6bd3ecb689
|
Fix over eager const expression inliner
|
2022-02-19 12:16:33 +01:00 |
|
drmortalwombat
|
1221649a3d
|
Add check for __interrupt attribute on function pointers call from interrupt code
|
2022-02-15 09:49:46 +01:00 |
|
drmortalwombat
|
fdb112a037
|
Add constant address calculation for struct members
|
2022-02-14 20:13:30 +01:00 |
|
drmortalwombat
|
a52fb469b6
|
Eliminate some redundant instructions during peephole optimization
|
2022-02-09 22:20:44 +01:00 |
|
drmortalwombat
|
42f71e264e
|
Fix uninitialized interrupt flag in linux builds
|
2022-02-08 12:58:22 +01:00 |
|
drmortalwombat
|
d4352ef043
|
Add __hwinterrupt function decoration
|
2022-02-06 10:28:09 +01:00 |
|
drmortalwombat
|
5147ec6bc9
|
Fix function pointers in struct consts
|
2022-02-05 16:52:54 +01:00 |
|
drmortalwombat
|
c6133ce7c0
|
Add error message on crash, fix infinite loop, extend asm listing
|
2022-02-02 08:58:35 +01:00 |
|
drmortalwombat
|
25ba5ca789
|
Fix absolute const pointer to int cast
|
2022-01-31 22:40:53 +01:00 |
|
drmortalwombat
|
e1f605b28c
|
Optimize value forwarding and memory alias check
|
2022-01-31 13:33:39 +01:00 |
|
drmortalwombat
|
94efcaeca6
|
Circle drawing in multicolor bitmap
|
2022-01-31 08:08:18 +01:00 |
|
drmortalwombat
|
08d6358932
|
Fix local variable array member forwarding
|
2022-01-29 16:06:47 +01:00 |
|
drmortalwombat
|
5ca651bc36
|
Add games to samples
|
2022-01-28 22:49:15 +01:00 |
|
drmortalwombat
|
aee284c1d6
|
Add irq autocrawler sample
|
2022-01-28 08:49:21 +01:00 |
|
drmortalwombat
|
79a841a422
|
Mark vic registers as volatile
|
2022-01-27 16:38:47 +01:00 |
|
drmortalwombat
|
5c8b1c6daf
|
Add __export, __native and __interrupt storage class specifiers
|
2022-01-26 21:48:19 +01:00 |
|
drmortalwombat
|
792751e3a4
|
Fix error swapping global variables with negation
|
2022-01-25 21:45:33 +01:00 |
|
drmortalwombat
|
0ea87ea322
|
Reduce speculation of integer value range analyzer
|
2022-01-25 21:05:00 +01:00 |
|
drmortalwombat
|
f25bf80a0f
|
Fix LF line ending on windows, float and loop optimizations
|
2022-01-25 14:31:36 +01:00 |
|
drmortalwombat
|
9f41a55a18
|
Fix static declaration in header files
|
2022-01-23 21:14:30 +01:00 |
|
drmortalwombat
|
742866c8c2
|
Enable charmap inside a series of string literals
|
2022-01-22 13:41:24 +01:00 |
|
drmortalwombat
|
9dd493d20b
|
Add sid and easyflash includes
|
2022-01-22 11:16:59 +01:00 |
|
drmortalwombat
|
fad67d18aa
|
Add auto loop unrolling and binary (verbatim) format linking
|
2022-01-21 21:52:16 +01:00 |
|
drmortalwombat
|
8b4eff3ee1
|
More constant folding and value propagation
|
2022-01-20 17:43:08 +01:00 |
|
drmortalwombat
|
76322c005d
|
Fix errors introduced with strength reduction
|
2022-01-20 13:39:55 +01:00 |
|
drmortalwombat
|
1c403dfeeb
|
Add strength reduction in trivial loops
|
2022-01-19 20:55:33 +01:00 |
|
drmortalwombat
|
9161b088ee
|
More integer range optimizations
|
2022-01-16 18:30:38 +01:00 |
|
drmortalwombat
|
6eedb931a7
|
More value range optimizations
|
2022-01-16 09:41:59 +01:00 |
|
drmortalwombat
|
de920f2418
|
Optimize global variable usage
|
2022-01-14 17:53:30 +01:00 |
|
drmortalwombat
|
d9946e12b9
|
Optimize byte size right shift
|
2022-01-12 15:54:50 +01:00 |
|
drmortalwombat
|
1be469aa9b
|
Optimize placement of basic blocks
|
2022-01-10 14:06:21 +01:00 |
|
drmortalwombat
|
68f8628409
|
Optimize size of generated byte code
|
2022-01-09 19:00:02 +01:00 |
|
drmortalwombat
|
640007546f
|
Add __assume builtin function
|
2022-01-08 15:51:17 +01:00 |
|
drmortalwombat
|
d2511b558c
|
Reoder eight bit adds
|
2022-01-05 20:06:25 +01:00 |
|
drmortalwombat
|
d4a9308627
|
More inter code value forwarding
|
2022-01-05 16:38:56 +01:00 |
|
drmortalwombat
|
2b7c7300d7
|
Integer value range optimizations
|
2022-01-04 22:26:44 +01:00 |
|
drmortalwombat
|
78615c0725
|
Optimize cross block single evaluation
|
2022-01-04 11:44:01 +01:00 |
|
drmortalwombat
|
60ca42e759
|
Inner loop invariant optimization for non single block intermediate loops
|
2022-01-03 14:36:31 +01:00 |
|
drmortalwombat
|
272b7b08df
|
Optimize more short multiplies in native code
|
2022-01-02 12:44:37 +01:00 |
|
drmortalwombat
|
7e66836e07
|
More samples
|
2021-12-30 15:41:06 +01:00 |
|
drmortalwombat
|
1fcc39acd5
|
Add sprite multiplexer
|
2021-12-29 20:07:13 +01:00 |
|
drmortalwombat
|
743510b54e
|
Add verbose option -v to compiler
|
2021-12-26 11:31:04 +01:00 |
|
drmortalwombat
|
0dd6a0655c
|
Optimize call to 8 by16 mul
|
2021-12-23 20:27:45 +01:00 |
|
drmortalwombat
|
71c574478c
|
More integer value range optimizations
|
2021-12-23 14:31:58 +01:00 |
|
drmortalwombat
|
183864208f
|
More integer value range optimizations
|
2021-12-22 12:58:17 +01:00 |
|
drmortalwombat
|
05a6c71698
|
Value range annotation for intermediate code
|
2021-12-22 07:46:06 +01:00 |
|
drmortalwombat
|
b9c477976a
|
Strength reduction for simple native code loops with y register
|
2021-12-20 20:44:10 +01:00 |
|
drmortalwombat
|
4a9c662cc9
|
Optimize float native code size
|
2021-12-19 16:53:12 +01:00 |
|
drmortalwombat
|
18ab7ce079
|
Fix broken left shift optimization due to branch in basic block
|
2021-12-06 22:56:03 +01:00 |
|
drmortalwombat
|
0b9163afbe
|
Optimize native code branch placement
|
2021-12-01 20:26:28 +01:00 |
|
drmortalwombat
|
4f1de9ce89
|
Reduce over eager code movement
|
2021-12-01 19:32:49 +01:00 |
|
drmortalwombat
|
f1f3c609fd
|
Join similar instructions on conditional paths
|
2021-11-30 21:32:49 +01:00 |
|
drmortalwombat
|
d02b438a1a
|
Optimize code size
|
2021-11-27 11:17:15 +01:00 |
|
drmortalwombat
|
ccd6a50043
|
Optimize byte code interpreter loop
|
2021-11-25 21:42:06 +01:00 |
|
drmortalwombat
|
6007553d03
|
Byte code optimizations
|
2021-11-21 22:53:06 +01:00 |
|
drmortalwombat
|
2ed784ea17
|
Optimize signed range comparison
|
2021-11-13 15:05:53 +01:00 |
|
drmortalwombat
|
cb5f5f421f
|
Optimize single conditional path value evaluation
|
2021-11-09 22:24:29 +01:00 |
|
drmortalwombat
|
931c4d875a
|
Reduce register copy for native code fast calls
|
2021-11-07 17:16:01 +01:00 |
|
drmortalwombat
|
a8ed15d67b
|
Optimize inline pointer parameters
|
2021-11-05 08:46:59 +01:00 |
|
drmortalwombat
|
099f3b8a26
|
Fixe unsigned byte signed const comparison
|
2021-11-02 17:18:24 +01:00 |
|
drmortalwombat
|
f16edb1c57
|
Optimize signed byte comparisons
|
2021-11-01 22:33:02 +01:00 |
|
drmortalwombat
|
2cd7956736
|
Remove stores to global variables that are never read
|
2021-11-01 16:08:37 +01:00 |
|
drmortalwombat
|
d3cba85efe
|
Optimize global variable alias analysis
|
2021-11-01 12:42:03 +01:00 |
|
drmortalwombat
|
135d357dbc
|
Strcpy as intrinsic
|
2021-10-31 19:14:07 +01:00 |
|
drmortalwombat
|
7e340cc816
|
Optimize static and global variable usage
|
2021-10-31 16:22:11 +01:00 |
|
drmortalwombat
|
b9cbf525e9
|
Optimize native code XY index register usage
|
2021-10-30 22:29:32 +02:00 |
|
drmortalwombat
|
640477f88d
|
Add peephole size optimizations
|
2021-10-30 10:42:41 +02:00 |
|
drmortalwombat
|
b64079bf28
|
Optimize some constant shifts
|
2021-10-27 21:01:39 +02:00 |
|
drmortalwombat
|
480270f4c9
|
Fix array to pointer cast
|
2021-10-24 14:58:06 +02:00 |
|
drmortalwombat
|
d8ecd34ac6
|
Add #embed preprocessor directive to import binary data
|
2021-10-24 12:34:44 +02:00 |
|
drmortalwombat
|
33433403b1
|
Fix optimizer errors
|
2021-10-23 00:33:09 +02:00 |
|
drmortalwombat
|
5010043fc4
|
Optimize struct member access
|
2021-10-17 11:54:15 +02:00 |
|
drmortalwombat
|
194c7a2af4
|
Fix int + pointer operation
|
2021-10-16 23:07:28 +02:00 |
|
drmortalwombat
|
ed52725a01
|
Remove copies from struct function return
|
2021-10-16 18:17:54 +02:00 |
|
drmortalwombat
|
815f64d14c
|
Fix infinite loop unrolling
|
2021-10-16 15:11:05 +02:00 |
|
drmortalwombat
|
c2886e2532
|
Fix infinite for(;;) loop
|
2021-10-16 10:49:11 +02:00 |
|
drmortalwombat
|
438a926b88
|
Code size optimization
|
2021-10-15 21:52:07 +02:00 |
|
drmortalwombat
|
e2e6f4ea01
|
Add command line options for optimization
|
2021-10-14 16:51:59 +02:00 |
|
drmortalwombat
|
3c891fb61e
|
Fix 16 bit pointer offsets in native code
|
2021-10-13 22:19:27 +02:00 |
|
drmortalwombat
|
6bd3e3ae97
|
Remove debug code
|
2021-10-10 20:58:38 +02:00 |
|
drmortalwombat
|
11af372509
|
More autoinline optimizations
|
2021-10-10 17:14:12 +02:00 |
|
drmortalwombat
|
210b037dbc
|
Remove sign extended byte loads from byte code
|
2021-10-08 23:04:27 +02:00 |
|
drmortalwombat
|
32b715382c
|
Add fascall for byte code
|
2021-10-08 17:41:11 +02:00 |
|
drmortalwombat
|
60489bb79e
|
Refactor inter instrction operator handling
|
2021-10-08 09:07:01 +02:00 |
|
drmortalwombat
|
e7231e27e0
|
Prepare fastcall
|
2021-10-07 15:14:23 +02:00 |
|
drmortalwombat
|
df152c2f9b
|
Prepare more than 3 operands per inter instruction
|
2021-10-06 17:46:42 +02:00 |
|
drmortalwombat
|
15743d3115
|
Refactor temp handling in inter code
|
2021-10-06 17:30:41 +02:00 |
|
drmortalwombat
|
330e022a43
|
Exclude bss segment from prg file
|
2021-10-05 18:24:03 +02:00 |
|
drmortalwombat
|
542cb66693
|
Fixes to get dhrystone.c to compile and run
|
2021-10-03 20:35:50 +02:00 |
|
drmortalwombat
|
4a822facaa
|
Optimize inline expansion
|
2021-10-03 11:36:26 +02:00 |
|
drmortalwombat
|
acc87d50fe
|
Limit inline expansion depth
|
2021-10-02 22:39:36 +02:00 |
|
drmortalwombat
|
3d9302c90c
|
Support for long integer with byte code
|
2021-10-02 10:06:13 +02:00 |
|
drmortalwombat
|
02305e8bc5
|
Optimize global arrays and const comparisons
|
2021-09-30 20:00:47 +02:00 |
|
drmortalwombat
|
9dfbe405a5
|
Avoid frame pointer in native code if simple stack frame
|
2021-09-29 19:48:57 +02:00 |
|
drmortalwombat
|
4aa82d539b
|
Optimize pointer increment dereference combos
|
2021-09-29 17:34:38 +02:00 |
|
drmortalwombat
|
bc4aea064a
|
Add missing mac include
|
2021-09-29 08:02:20 +02:00 |
|
drmortalwombat
|
e713dc5940
|
Direct embedding of inline assembler in native code
|
2021-09-28 18:35:23 +02:00 |
|
drmortalwombat
|
9eb5412848
|
Merge changes for Mac build
|
2021-09-27 13:38:45 +02:00 |
|
drmortalwombat
|
bffef3e9dd
|
Basic block tail merging
|
2021-09-26 13:14:56 +02:00 |
|
drmortalwombat
|
1dd63ac708
|
Fix byte size inc/dec error
|
2021-09-25 22:50:16 +02:00 |
|
drmortalwombat
|
f925833884
|
Move executable into bin folder for windows and linux
|
2021-09-25 18:20:32 +02:00 |
|
drmortalwombat
|
fd10525780
|
Add makefile for linux
|
2021-09-24 16:17:20 +02:00 |
|
drmortalwombat
|
4ca77ba41a
|
Byte operand sizes fixes and optimizations
|
2021-09-22 22:49:52 +02:00 |
|
drmortalwombat
|
2cd9a55880
|
Fix various bugs related to byte size operands
|
2021-09-22 15:46:20 +02:00 |
|
drmortalwombat
|
9ec846c506
|
Load/Store constant offset propagation across basic blocks
|
2021-09-21 22:49:04 +02:00 |
|
drmortalwombat
|
d9c565d898
|
Fix local variables with linker sections
|
2021-09-21 08:41:49 +02:00 |
|