drmortalwombat
c99c1756a9
Fix parameter address reference in __asm embedding
2024-06-11 13:07:50 +02:00
drmortalwombat
5ccfab0342
Fix IEC code for non interrupt usage
2024-06-11 12:12:29 +02:00
drmortalwombat
ff6bb8ccd5
Fix type of addressof reference
2024-06-08 16:48:44 +02:00
drmortalwombat
2e3aea9d96
Fix reference parameter capture
2024-06-08 16:43:33 +02:00
drmortalwombat
4954a285e7
Add interleave option for sectors in disk image
2024-06-05 22:21:21 +02:00
drmortalwombat
46b52a57f7
Add binary not operator to inline assembler operand parsing
2024-06-04 09:07:50 +02:00
drmortalwombat
41ba2e73f2
Fix labels in inline assembler with an offset > 255
2024-06-03 13:06:45 +02:00
drmortalwombat
fbc9607e17
Ensure actual update of index variable in loops in non debug builds
2024-05-30 17:51:59 +02:00
drmortalwombat
2e696d9e1a
Optimize small inline function calls
2024-05-30 17:51:34 +02:00
drmortalwombat
2e1c020db4
Bump version number
2024-05-26 08:43:14 +02:00
drmortalwombat
13629c70d4
Fix auto deduction of void return type
2024-05-25 22:25:59 +02:00
drmortalwombat
b1b5ee737b
Fix functional for no parameters
2024-05-25 22:05:31 +02:00
drmortalwombat
af38f64a99
Add opp::function
2024-05-25 21:25:02 +02:00
drmortalwombat
a22dfa6ba7
Add pure virtual functions
2024-05-23 21:15:47 +02:00
drmortalwombat
9fa8b644a7
Add object placement retry if page locking does not fit
2024-05-23 09:54:07 +02:00
drmortalwombat
375307822e
Fix auto template expansion of class constructor
2024-05-22 22:44:53 +02:00
drmortalwombat
c0152b1ce4
fix template deduction for member functions
2024-05-22 20:53:23 +02:00
drmortalwombat
3460c06508
Improve strength reduction in loops
2024-05-22 20:36:22 +02:00
drmortalwombat
d3734a66e0
Fix complex loop intercode index reversal
2024-05-22 12:16:30 +02:00
drmortalwombat
ccf13c78f0
Fix index register conflict when removing condition check after load
2024-05-21 22:03:51 +02:00
drmortalwombat
2c28551ca3
Improve index register cross block handling
2024-05-20 16:24:28 +02:00
drmortalwombat
4fb35a7af2
Add error when exceeding assembler limits
2024-05-20 09:03:41 +02:00
drmortalwombat
a2a22476ed
Add constexpr pointers for inline assembler
2024-05-19 22:20:52 +02:00
drmortalwombat
1b22a5e3c5
Fix constant fold error
2024-05-19 21:38:19 +02:00
drmortalwombat
ab06d85a91
Add global inline assembler optimization for static const to immediate propagation
2024-05-19 20:48:14 +02:00
drmortalwombat
d79aae3078
Fix inline mapper for inline assembler
2024-05-19 19:11:48 +02:00
drmortalwombat
4c0e737508
Fix over eager pre processor tokenizer
2024-05-19 17:16:14 +02:00
drmortalwombat
86e0cbf9c2
Alternate forward and backward int value range check
2024-05-19 10:19:42 +02:00
drmortalwombat
142bc988b1
Bump version number
2024-05-17 13:12:24 +02:00
drmortalwombat
3ea44d1979
Fix usage of "ldx abs,x" in some corner cases
2024-05-16 17:45:36 +02:00
drmortalwombat
04d1abd803
Some peephole loop optimizations
2024-05-12 21:06:50 +02:00
drmortalwombat
ba1bc29b1a
Fix X vz Z flag swapping
2024-05-05 20:54:21 +02:00
drmortalwombat
37776dfaee
Remove more conditional branches from loops
2024-05-05 13:14:23 +02:00
drmortalwombat
c28f342f3e
Remove some superflous range violation warnings
2024-05-03 14:54:58 +02:00
drmortalwombat
354a420aa4
Bump version number
2024-05-01 15:49:17 +02:00
drmortalwombat
fb72e8baf8
Fix over eager parameter reordering
2024-05-01 15:30:18 +02:00
drmortalwombat
976703f713
Fix O2 parameter forwarding optimization
2024-05-01 14:08:42 +02:00
drmortalwombat
dc5afa6e79
Fix shift optimization had wrong address check
2024-04-30 08:51:22 +02:00
drmortalwombat
740762d4a1
Fix loss of zero flag in 16bit optimization
2024-04-30 08:06:20 +02:00
drmortalwombat
f0b7cddeb1
Optimize indirecte 16bit store by flipping low/high order
2024-04-28 21:13:41 +02:00
drmortalwombat
9b47a34840
Improve reordering of function arguments
2024-04-28 20:15:17 +02:00
drmortalwombat
bb8c31bf32
Some peephole optimization
2024-04-23 20:54:48 +02:00
drmortalwombat
87ca43e5b7
Add spritepad version 1 file parsing
2024-04-23 17:51:42 +02:00
drmortalwombat
411648b130
Improve long counting loops
2024-04-22 22:48:15 +02:00
drmortalwombat
611f672b81
Add warning for static buffer overflow
2024-04-15 15:40:37 +02:00
drmortalwombat
c3c0583f19
Fix const array dereference
2024-04-12 16:51:26 +02:00
drmortalwombat
55ddce2211
Fix const array access folding
2024-04-12 16:11:47 +02:00
drmortalwombat
5971f9a80f
bump version number
2024-04-12 15:54:54 +02:00
drmortalwombat
fbfd597306
Fix float param to const propagation
2024-04-12 15:50:46 +02:00
drmortalwombat
0184a550c5
Fix volatile violation when recycling immediates
2024-04-10 15:15:22 +02:00
drmortalwombat
2cdc95ba05
Fix assert in samples
2024-04-09 15:57:53 +02:00
drmortalwombat
fefa462730
Improve zero page variable usage
2024-04-08 22:04:50 +02:00
drmortalwombat
7b20e6cca0
Optimize 16 bit counting loops
2024-03-31 14:29:22 +02:00
drmortalwombat
ed82e3595b
Bump version number
2024-03-30 10:40:00 +01:00
drmortalwombat
6cfdc0ce5f
Fix removal of consecutive indexed stores in unrolled loop
2024-03-29 18:49:58 +01:00
drmortalwombat
1f17f1c198
Fix assert in peephole optimizer
2024-03-26 08:23:13 +01:00
drmortalwombat
aa601a5727
Change memset and memclr to intrinsic functions
2024-03-24 11:22:13 +01:00
drmortalwombat
85fad64e9c
Optimize post inc/dec while loop conditions
2024-03-21 19:33:50 +01:00
drmortalwombat
30d942478f
Fix infinite loop in move condition out of loop
2024-03-13 22:14:29 +01:00
drmortalwombat
89750c3f73
promote array of const members to be const as well
2024-03-11 13:40:54 +01:00
drmortalwombat
45246a2f2d
Fix variable size when defining extern struct with anon struct
2024-03-07 20:42:21 +01:00
drmortalwombat
0c43952e37
Improve constant branch forwarding
2024-03-07 13:20:39 +01:00
drmortalwombat
f877e5b8c2
Fix assert in linux sample build
2024-02-28 21:26:25 +01:00
drmortalwombat
2d50d56606
Fix copy and load with striped arrays
2024-02-27 18:02:12 +01:00
drmortalwombat
bdecbe77e4
Fix 16bit zero page global variable inc/dec
2024-02-27 09:08:56 +01:00
drmortalwombat
f39cb38eb3
Fix unary ops on striped struct members
2024-02-26 20:38:02 +01:00
drmortalwombat
e2f822e7d1
Improve short function call loop
2024-02-25 18:43:53 +01:00
drmortalwombat
0b58e9eaaf
Fix global aliasing collision with striped data
2024-02-25 18:00:10 +01:00
drmortalwombat
0a76a57f18
Bump version number
2024-02-24 15:50:47 +01:00
drmortalwombat
22ffbfa63c
Fix source location when coalescing JSR and RTS in JMP
2024-02-24 09:52:32 +01:00
drmortalwombat
94a3097ba7
Fix find loop optimization with mirrored condition
2024-02-21 15:05:17 +01:00
drmortalwombat
aab71cbab3
Add more std c include files
2024-02-20 14:16:32 +01:00
drmortalwombat
1041ef03eb
Bump version number
2024-02-19 14:30:53 +01:00
drmortalwombat
e2f36bbb9a
Fix parse embed with hex skip or size setting
2024-02-19 14:19:15 +01:00
drmortalwombat
5e9df61ffc
Fix read after write hazzard in function param proxy size optimization
2024-02-18 20:35:07 +01:00
drmortalwombat
cc5a90ac21
Fix long unsigned int comparison
2024-02-18 18:30:51 +01:00
drmortalwombat
3900e1cf92
fix pragma strings with petscii
2024-02-18 17:57:27 +01:00
drmortalwombat
6b98a44fc0
Improve auto inlining decision with O2
2024-02-18 14:35:41 +01:00
drmortalwombat
2698595302
bump version number
2024-02-18 10:02:29 +01:00
drmortalwombat
f6ab79319f
More compatibility fixes for -psci
2024-02-18 09:31:05 +01:00
drmortalwombat
264a80d88e
Pausing petscii string options for #include and #embed
2024-02-17 17:43:24 +01:00
drmortalwombat
020ab117a4
Fix value copy crossing function call
2024-02-17 17:37:47 +01:00
drmortalwombat
8457316815
Fix unsigned promotion for binary not operator
2024-02-17 13:10:14 +01:00
drmortalwombat
58ffe2ad06
Fix hex arguments for pragmas
2024-02-17 12:53:31 +01:00
drmortalwombat
6f7efd9efc
Optimized long multiply
2024-02-17 12:06:15 +01:00
drmortalwombat
b84cce7609
Improve compatibility with some C quirks
2024-02-16 21:39:35 +01:00
drmortalwombat
8fc382c11e
Fix high byte address calculation cascade
2024-02-15 20:52:10 +01:00
drmortalwombat
fadcb61bc7
bump version number
2024-02-15 16:20:15 +01:00
drmortalwombat
7ebf71b161
Switch to Visual Studio 2022 toolset
2024-02-15 15:36:25 +01:00
drmortalwombat
003550337a
Fix debug and linux build
2024-02-15 13:29:02 +01:00
drmortalwombat
c909995011
Reduce compiler memory footprint
2024-02-15 09:58:26 +01:00
drmortalwombat
18cfbc713a
Force some inline calls in vdc
2024-02-14 15:24:01 +01:00
drmortalwombat
806539a2d6
add "tan" to intrinsic functions
2024-02-13 20:49:11 +01:00
Stefan
1d49e0a987
Fixed warning
...
c++ -c -g -O2 -std=c++11 -Wno-switch ../oscar64/oscar64.cpp -o oscar64.o
../oscar64/Scanner.cpp:768:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
while (mTokenString[i] = def->mString[i])
~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../oscar64/Scanner.cpp:768:29: note: place parentheses around the assignment to silence this warning
while (mTokenString[i] = def->mString[i])
^
( )
../oscar64/Scanner.cpp:768:29: note: use '==' to turn this assignment into an equality comparison
while (mTokenString[i] = def->mString[i])
^
==
1 warning generated.
2024-02-13 18:28:33 +01:00
drmortalwombat
bcc20d3986
Switch to x64 compiler binary
2024-02-13 16:53:44 +01:00
drmortalwombat
431c5d3282
Add info message, if object cannot be placed by linker
2024-02-12 18:06:30 +01:00
drmortalwombat
ce5be92225
Fix linux build
2024-02-12 17:40:03 +01:00
drmortalwombat
2ed3d8b445
Bump version number
2024-02-04 11:26:37 +01:00
drmortalwombat
f498da5e42
Add __DATE__ and __TIME__ defines
2024-02-04 10:45:02 +01:00
drmortalwombat
7d6eb36ee7
Fix assignment of immediates to returned struct
2024-02-04 09:43:52 +01:00
drmortalwombat
ecaab1b5b3
Fix crash compiling infinite loop
2024-01-30 15:04:13 +01:00
drmortalwombat
80efe2351b
Optimize short wait loop handling
2024-01-28 19:09:59 +01:00
drmortalwombat
91c907be7e
Improve BYT operands in inline assembler
2024-01-28 09:39:40 +01:00
drmortalwombat
fafbbe82d1
Fix prevent swap of X and Y when used in JSR
2024-01-27 19:50:34 +01:00
drmortalwombat
b3d80bcb0f
Limit inline asm check to same section
2024-01-27 17:50:53 +01:00
drmortalwombat
4901e015f6
Undo JSR optimization for testing
2024-01-27 17:48:30 +01:00
drmortalwombat
fdb52bcdc6
Limit JSR->JMP forwarding
2024-01-27 17:43:08 +01:00
drmortalwombat
974688a8a5
Fix overlay prg file save
2024-01-27 17:11:10 +01:00
drmortalwombat
2ad71ef867
Bump version number
2024-01-27 10:26:22 +01:00
drmortalwombat
c1083b44dc
Optimize constant loops
2024-01-27 10:19:14 +01:00
drmortalwombat
b0dc6fdd1e
Add save as .prg for overlay files
2024-01-27 09:37:48 +01:00
drmortalwombat
7f51d6330e
Fixed 1 - i for bytes, wrong operand order
2024-01-26 12:41:13 +01:00
drmortalwombat
3992b1d547
Add warning for out of bounds accesses
2024-01-24 17:30:03 +01:00
drmortalwombat
2c1a87ce02
Control assert with _DEBUG to avoid gcc core dump
2024-01-23 16:53:30 +01:00
drmortalwombat
529618ffa4
Changed error format to "oscar64:" when error outside of source file
2024-01-23 15:58:47 +01:00
drmortalwombat
bcc5e9d362
Fix propagation of conditions out of loops
2024-01-23 09:02:38 +01:00
drmortalwombat
6444ba58cf
bump version number
2024-01-21 15:39:26 +01:00
drmortalwombat
4fc3e019d5
Add ranges in case statements (gcc extension)
2024-01-21 15:17:46 +01:00
drmortalwombat
dcebdeaa5f
Fix parsing of trailing comma in initializer list
2024-01-21 09:25:34 +01:00
drmortalwombat
8a49ffd111
Improve unrolled loops towards zero
2024-01-20 13:49:25 +01:00
drmortalwombat
a19469d851
Fix exportet variable alignment calculation
2024-01-16 08:12:47 +01:00
drmortalwombat
265be6e766
Move linker chattyness into -v2
2024-01-12 22:51:11 +01:00
drmortalwombat
cac7db4358
Fix memory size mismatch in reverse integer range propagation due to register renaming
2024-01-10 22:59:45 +01:00
drmortalwombat
4eaa6c8b1e
Add immediate variable address parameter in inline assembler
2024-01-10 12:22:46 +01:00
drmortalwombat
5634abdba4
Fix compiler warnings on linux/macos
2024-01-09 20:04:40 +01:00
drmortalwombat
a6b3533e61
Fix struct volatile cast
2024-01-08 20:41:48 +01:00
drmortalwombat
1abdd1476e
Fix error message when propagating invalid function parameter to const
2024-01-08 18:20:55 +01:00
drmortalwombat
0bc4e7cda6
Fix inc/mov of absolute values
2024-01-07 16:13:01 +01:00
drmortalwombat
36d6fc6760
Fix placement of proxy variables for unused parameters
2024-01-06 20:00:55 +01:00
drmortalwombat
7ea4356361
Fix function end location in dbj file
2024-01-06 17:07:10 +01:00
drmortalwombat
d676ccc1bd
Fix dbj file reference with optimized variable
2024-01-06 14:03:29 +01:00
drmortalwombat
1c1d7fefaa
Add c128e target machine
2024-01-06 09:09:52 +01:00
drmortalwombat
a7d7db37df
Bump version number
2024-01-04 17:56:42 +01:00
drmortalwombat
5d51cf75e8
Fix cross block zp move optimization
2024-01-04 14:14:28 +01:00
drmortalwombat
d9f81ad653
Improve cross function memory aliasing analysis
2024-01-03 22:23:20 +01:00
drmortalwombat
34947da898
Fix loop integer range propagation
2024-01-02 22:21:05 +01:00
Ralf Horstmann
fc6c83e9cd
Fix out of bounds access to LinkerObjectTypeNames
...
One entry was missing, causing segmentation fault on some platforms.
2024-01-01 14:16:02 +01:00
drmortalwombat
940cb4a5b9
Add declaration to reference list in dbj
2023-12-31 13:30:29 +01:00
drmortalwombat
c138c0f2ae
Fix loss of zp dependency on diamond register propagation
2023-12-31 10:29:59 +01:00
drmortalwombat
5a3cbff259
Add references to dbj file
2023-12-30 12:17:46 +01:00
drmortalwombat
da20b4d27a
Fix atan2, failed in mathtest.c
2023-12-30 09:21:17 +01:00
drmortalwombat
064bf0f8e5
Bump Version Number
2023-12-23 10:45:00 +01:00
drmortalwombat
a305dbb1cd
Improve function placement in linker
2023-12-23 10:40:45 +01:00
drmortalwombat
59b1d971d0
Changes sprintf to snprintf
2023-12-18 13:00:54 +01:00
drmortalwombat
ef6598e94b
Fix unnamed structs
2023-12-18 07:40:31 +01:00
drmortalwombat
04518e4ff3
Add error message for unnamed structs
2023-12-17 22:45:21 +01:00
drmortalwombat
4a8010a3a0
Fix loss of zero page dependency in tail code merge
2023-12-17 12:40:09 +01:00
drmortalwombat
ae4b48c445
Various loop optimizations
2023-12-16 21:03:09 +01:00
drmortalwombat
6cf8466dfd
Fix overeager lda/sta join of tail blocks
2023-12-12 22:39:22 +01:00
drmortalwombat
6bbf325720
Add BIT instruction for sign check, add inlay sections in linker
2023-12-12 11:08:59 +01:00