Commit Graph

1184 Commits

Author SHA1 Message Date
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
drmortalwombat ee67c6dec1 Add more HEAPCHECK 2023-12-10 12:41:37 +01:00
drmortalwombat 16810b63d4 Fix over eager lda/sta movement 2023-12-10 09:48:23 +01:00
drmortalwombat 1e0450cd8a Optimize sprite multiplexer 2023-12-09 13:40:58 +01:00
drmortalwombat 1d337f1244 Fix accu train movement to end of block 2023-12-07 14:22:05 +01:00
drmortalwombat cce2f272ef Add optimization section to readme 2023-12-06 13:55:38 +01:00
drmortalwombat d48da32586 Improve placement of "if" cascades 2023-12-04 22:09:33 +01:00
drmortalwombat 8a33fe3e60 Bump version number 2023-12-02 11:04:20 +01:00
drmortalwombat 8ab46e29dd Direct parameter forwarding 2023-12-02 10:58:20 +01:00
drmortalwombat 003306f961 Fix noinline, improve cartridge use of bank 0 2023-11-29 20:53:04 +01:00
drmortalwombat cf28c1a618 Move conditions out of loops 2023-11-28 17:40:44 +01:00
drmortalwombat 8fd560a643 Bump version number 2023-11-26 22:41:17 +01:00
drmortalwombat d5026ed9b0 Fix join common branch sequence 2023-11-26 21:34:06 +01:00
drmortalwombat 57537cd43a Join common branch code sequences 2023-11-26 15:46:59 +01:00
drmortalwombat eec4ed45d1 Fix global array aliasing error 2023-11-20 22:53:12 +01:00
drmortalwombat a9fc83d63c Add xname attribute to .dbj file 2023-11-20 17:28:48 +01:00
drmortalwombat a5f4cf3252 Fix default constructor with classes in header file 2023-11-20 17:03:34 +01:00
drmortalwombat 6995f5a683 Decorate vcall multiplexer 2023-11-20 13:07:29 +01:00
drmortalwombat 0309fcb286 Fixed copy with offset 2023-11-20 08:29:23 +01:00
drmortalwombat 38e1cd0bab Fix join entry loadstore zp if accu is used cross block 2023-11-16 21:52:06 +01:00
drmortalwombat 157f9c00e5 Fix do while loop with function condition 2023-11-16 16:40:11 +01:00
drmortalwombat 44e6921842 Change string literal processing to use unsigned chars 2023-11-14 15:02:35 +01:00
drmortalwombat ee03f08f52 Fix over eager zp parameter reuse 2023-11-11 22:37:35 +01:00
drmortalwombat a59f55c1f3 Fix block join target move zp 2023-11-10 20:53:20 +01:00
drmortalwombat 3be6d20006 Add enum class 2023-11-09 16:33:50 +01:00
drmortalwombat 70c6fb23cc Fix for stack virtual call 2023-11-08 15:35:45 +01:00
drmortalwombat e43c086545 Add enum to int conversion in function call overload 2023-11-07 08:08:44 +01:00
drmortalwombat 06ab48461b Implement striped unions 2023-11-06 21:33:04 +01:00
drmortalwombat 8ea991db81 Optimize div/mod unsigned pairs 2023-11-03 20:16:23 +01:00
drmortalwombat d9c84e3a15 Disable vtable dispatcher inlining 2023-11-02 08:18:09 +01:00
drmortalwombat 8aeddf0316 Fix previous fix 2023-10-30 19:43:37 +01:00
drmortalwombat 8a27cba1f9 Fix inifinite pumping loop in integer range optimizer 2023-10-30 18:02:34 +01:00
drmortalwombat f808309058 Fix wrong string mangling for auto param names 2023-10-30 13:17:23 +01:00
drmortalwombat ae15eca0ef Fix array to pointer cast in const initializer 2023-10-29 20:00:38 +01:00
drmortalwombat 781bb83dd1 Bump version number 2023-10-29 17:57:32 +01:00
drmortalwombat 1d4eb70414 Optimize struct copies 2023-10-29 17:55:26 +01:00
drmortalwombat 75301fa12d Fix crash with array new 2023-10-28 12:02:28 +02:00
drmortalwombat f541cf3848 Fix per tile color in charpad import 2023-10-27 17:59:37 +02:00
drmortalwombat d9a8c5ea08 Fix template expansion of member functions 2023-10-27 14:53:19 +02:00
drmortalwombat 0080a85345 Fix deadlock on empty switch statement 2023-10-26 07:54:03 +02:00
drmortalwombat f6536a412e Fix SAR/MUL optimization 2023-10-24 21:20:07 +02:00
drmortalwombat 982fe17aed Fix compiler crash when using function result in if condition 2023-10-24 14:29:46 +02:00
drmortalwombat 0a3ad006b7 Fix simple struct member optimization for array cases 2023-10-22 19:50:26 +02:00
drmortalwombat f8f81f6d4c Optimize compile time 2023-10-22 19:35:37 +02:00
drmortalwombat 3377ac04fc Fix const use and vtable incompatibility 2023-10-22 12:34:26 +02:00
drmortalwombat 6e4bf52781 Optimize switch case tree 2023-10-19 21:15:01 +02:00
drmortalwombat 6cb15fd7d9 Improve incompatible type error message 2023-10-19 17:27:09 +02:00
drmortalwombat f7d6b52074 Fixed striped auto pointer 2023-10-18 20:26:11 +02:00
drmortalwombat 0f5e933002 Optimize cross block constant propagation 2023-10-18 15:57:59 +02:00
drmortalwombat 9e3b014927 Eliminate some simple dead X/Y loops 2023-10-16 21:51:20 +02:00
drmortalwombat f5c13c02af Some native code opts 2023-10-16 21:29:42 +02:00
drmortalwombat 63725f3511 Fix const eval of sin/cos 2023-10-16 17:24:35 +02:00
drmortalwombat da5326cc5f Fix local multi dim array init 2023-10-16 15:01:30 +02:00
drmortalwombat 19e2498cc8 Fix member constructor for multi dim array members 2023-10-16 14:13:20 +02:00
drmortalwombat 7858e32d12 Improve handling of single member structs 2023-10-15 20:17:04 +02:00
drmortalwombat 454c4f5dbe Bump version number 2023-10-15 14:22:59 +02:00
drmortalwombat eb16767bdb Optimize wide right shift 2023-10-15 13:59:30 +02:00
drmortalwombat 6e6e3b2adb Fix line directive over consumption 2023-10-15 12:26:32 +02:00
drmortalwombat 3da58bf1ca Fix line directive off by one error 2023-10-15 12:01:24 +02:00
drmortalwombat 4e76b34f53 constexpr constructor 2023-10-14 18:50:27 +02:00
drmortalwombat d160b2ae65 Optimize bitfields 2023-10-14 16:51:33 +02:00
drmortalwombat 4f76ffa311 Implement #line directive 2023-10-14 15:19:24 +02:00
drmortalwombat 9156db9c32 Restart integer range estimation from full state 2023-10-14 13:43:11 +02:00
drmortalwombat ecf8e69cf2 Add restricted pointer attribute to newly allocated memory 2023-10-13 11:18:16 +02:00
drmortalwombat 2027ac5d4c Fix template expansion in multiple cpp 2023-10-12 14:10:34 +02:00
drmortalwombat 020afb8722 bump version number 2023-10-10 09:06:31 +02:00
drmortalwombat 6a30a38415 Fix multi instantiation of inline constructors 2023-10-10 09:02:30 +02:00
drmortalwombat 312914d78c Bump version number 2023-10-08 21:44:30 +02:00
drmortalwombat d4f979b1bc Fix accu return with temp spilling 2023-10-08 21:30:53 +02:00
drmortalwombat 33d692194a Add iterators to string 2023-10-08 16:27:52 +02:00
drmortalwombat e084035a71 Common sub expression across if 2023-10-03 15:21:33 +02:00
drmortalwombat 313b6dcf93 Fix struct assign in constexpr 2023-10-03 12:47:24 +02:00
drmortalwombat 4e6769d81c Add <new> header file 2023-10-02 18:43:58 +02:00
drmortalwombat c53a288d0b Optimize index chains 2023-10-01 21:48:09 +02:00
drmortalwombat 235437be56 Fix absolute address high byte propagation error 2023-09-30 22:22:33 +02:00
drmortalwombat 078d14861c Some data path optimizations 2023-09-30 18:10:03 +02:00
drmortalwombat c98ff08f56 Fix infinite loop eating the entry block 2023-09-27 18:53:35 +02:00
drmortalwombat 619c4f8962 Join consecutive functions in linker 2023-09-24 22:22:48 +02:00
drmortalwombat da29a87477 Fix address of array in const declaration to return correct pointer type 2023-09-24 11:03:54 +02:00
drmortalwombat bba8931860 Fix const node polution in const param optimization 2023-09-23 18:52:26 +02:00
drmortalwombat cda66f3ec4 Function pointer forwarding 2023-09-23 18:01:28 +02:00
drmortalwombat 9d8c6991e8 Add global optimizer for parameter/return optimizations 2023-09-23 14:56:04 +02:00
drmortalwombat c7f919e22e Bump version number 2023-09-20 18:06:48 +02:00
drmortalwombat a0409002b6 Fix pointers in constexpr 2023-09-20 14:19:56 +02:00
drmortalwombat e20c098ab1 Fix samples build error 2023-09-18 07:41:49 +02:00
drmortalwombat f211eef837 Add fold expressions for argument packs 2023-09-17 20:34:42 +02:00
drmortalwombat 38274fb4f7 Add emplace_back in vector 2023-09-17 15:40:05 +02:00
drmortalwombat c674fc9a8b Add variadic sizeof... 2023-09-17 11:39:18 +02:00
drmortalwombat 06ebf85d9d Recursive variadic templates 2023-09-17 10:24:28 +02:00
drmortalwombat 935a38607b Bump version number 2023-09-14 19:45:55 +02:00
drmortalwombat d9106be820 Lambda in constexpr 2023-09-14 12:03:28 +02:00
drmortalwombat 0e6cb5557a Auto parameters in lambdas 2023-09-14 10:30:52 +02:00
drmortalwombat 64b3bfa30f Optimize temporary object livetime 2023-09-13 19:05:33 +02:00
drmortalwombat 532bf51718 Range for loop with reference iteration 2023-09-13 17:24:38 +02:00
drmortalwombat eccb2787dc Add simple range for loop 2023-09-12 21:33:59 +02:00
drmortalwombat d94d52b852 fix assert in linux autotest 2023-09-12 15:44:16 +02:00
drmortalwombat 2b51f20b1c Add lambda 2023-09-12 15:36:24 +02:00
drmortalwombat c926456560 Add simple return type deduction 2023-09-11 17:49:04 +02:00
drmortalwombat ab49281b0d Implement operator() 2023-09-11 16:19:11 +02:00
drmortalwombat 1b50baf852 Fix wrong unicode character in error message 2023-09-11 13:03:07 +02:00
drmortalwombat c1ecf1c281 Added bitfields 2023-09-11 08:04:09 +02:00
drmortalwombat 3374544ced Fix base type compare in template check 2023-09-10 10:28:25 +02:00
drmortalwombat bd37877c8c Add heap support to constexpr 2023-09-09 12:09:05 +02:00
drmortalwombat 4dd3cd967a Add switch, break and continue to constexpr 2023-09-08 21:03:18 +02:00
drmortalwombat ab273181f5 First shot implementing constexpr 2023-09-08 20:12:38 +02:00
drmortalwombat cb352fcc7c Bump version number 2023-09-04 22:23:00 +02:00