Jakub Doka
bfac81c807
fixing a bug with ITF selecting based of input instead of output type
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-16 10:35:11 +01:00
Jakub Doka
ef36e21475
making the compiler emit FMA instructions
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-16 10:16:53 +01:00
Jakub Doka
8138d6664f
properly releasing the strongrefs now
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-15 23:15:07 +01:00
Jakub Doka
9f43e3bb92
refactoring some stuff and loosening a requrement on assert
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-15 20:49:37 +01:00
Jakub Doka
6fba7da782
more general tree walking algorightm was needed (probably)
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-15 20:35:44 +01:00
Jakub Doka
7837eeb90d
implementing the loop iteration optimization
...
the multiplication and addition to a pointer is replaced with simply
incremrnting the pointer it self
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-15 19:37:37 +01:00
Jakub Doka
5a7a01ca02
adding the stack offset elision for return values as well
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-15 17:57:22 +01:00
Jakub Doka
f9c47f86ad
fixing a glaring bug, where the elidded offset is also offset
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-15 17:42:20 +01:00
Jakub Doka
48a0c8d0b9
POC for removeing needless stack offset computes when only value is used
...
TBD: there are far more cases where this will apply
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-15 17:17:41 +01:00
Jakub Doka
00f6729d31
supporting ascii literals
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-14 21:02:29 +01:00
Jakub Doka
dc96c8b10a
the items accesed outside the nested scope no longer get duplicated
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-14 18:50:13 +01:00
Jakub Doka
5aeeedbdce
fixing non pointer struct method receiver not counting as use
...
forgot to strip pointer
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-14 15:19:02 +01:00
Jakub Doka
fae75072f4
removing hardcoded html files and replacing them with markdown
...
the markdown gets transpiled on build and built files are then included
in the server executable
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-14 13:17:58 +01:00
Jakub Doka
71ba2c2486
Dividing function into template and instance, rmoving cumbersome options
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-02 15:51:12 +01:00
Jakub Doka
c5d5301b7b
Removing some clones and fixing parent scoping in case of globals
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-02 12:59:07 +01:00
Jakub Doka
c553c3d9e9
Removing repetative code, adding ent slice to properly index modules
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-01 19:04:27 +01:00
Jakub Doka
9ce446b507
Adding the simplest version of unions
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-01 15:11:38 +01:00
Jakub Doka
3b4b30b2bd
Restructuring the compiler
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-01 14:01:44 +01:00
Jakub Doka
cf672beb79
making ableos path resolver public
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 22:45:59 +01:00
Jakub Doka
3f6ebdd009
fixing phi moves (longer move cycles)
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 22:33:13 +01:00
Jakub Doka
19aca050ed
add new ableos path resolver, separate platform independent code
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 18:57:29 +01:00
Jakub Doka
d368ac023b
making error fields public
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 16:49:42 +01:00
Jakub Doka
8ea6c5cfcc
fixing miscompilation of generic struct functions
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 16:30:58 +01:00
Jakub Doka
e7cd2c0129
making the loader function customizable
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 15:44:51 +01:00
Jakub Doka
e44d003e7f
completing the generic types example
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 13:38:44 +01:00
Jakub Doka
a2ca8d98df
fixing a bug with floationg point comparison
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 12:40:39 +01:00
Jakub Doka
a3355a59c0
update on incomplete example
2024-11-24 18:55:30 +01:00
Jakub Doka
116f045a5f
adding defer
2024-11-24 18:50:55 +01:00
Jakub Doka
784d552c1d
fixing scoping bug
2024-11-24 16:43:45 +01:00
Jakub Doka
24a3aed360
implementing struct method for non generic contexts
2024-11-24 16:17:57 +01:00
Jakub Doka
58ee5c0a56
in progress of adding methods
2024-11-24 14:47:38 +01:00
Jakub Doka
9dfb2eb606
fg
2024-11-24 11:26:38 +01:00
Jakub Doka
5df4fb8882
changing the gcm to not mutate nodes in recursive functions
2024-11-23 19:47:17 +01:00
Jakub Doka
86ca959ea3
removing needless data dependencies
2024-11-23 17:23:33 +01:00
Jakub Doka
f353bd5882
passing down the inference of 'void' to statements
2024-11-23 15:33:28 +01:00
Jakub Doka
cad0a828d0
updating tests
2024-11-23 15:28:27 +01:00
Jakub Doka
fb119bc6eb
allowing compatison of types
2024-11-23 15:28:02 +01:00
Jakub Doka
aa83ed2ec9
fixing the annoyance
2024-11-23 14:19:47 +01:00
Jakub Doka
fb11c94af4
fixing some bugs and extending runtime of programs
2024-11-23 12:35:16 +01:00
Jakub Doka
d8d039b67a
adding capability to run posts and displaing cumulative runs
2024-11-23 10:18:05 +01:00
Jakub Doka
b12579ff65
adding import count to posts
2024-11-23 00:06:25 +01:00
Jakub Doka
0aa355695a
fixing the buggg, finally
2024-11-22 21:01:45 +01:00
Jakub Doka
4a857d2317
garbage
2024-11-22 19:50:59 +01:00
Jakub Doka
2253ac6198
fixing some bugs
2024-11-22 19:50:36 +01:00
Jakub Doka
e89511b14c
fixing position reporting for optimized returns
2024-11-17 22:26:31 +01:00
Jakub Doka
1c135a3050
adding interesting asert
2024-11-17 21:43:02 +01:00
Jakub Doka
f83194359c
fixed yet another off by 1
2024-11-17 21:35:41 +01:00
Jakub Doka
becd5c4b7f
well?
2024-11-17 21:30:20 +01:00
Jakub Doka
37dd13cab2
brah
2024-11-17 21:27:30 +01:00
Jakub Doka
bc2dd82eb7
welp
2024-11-17 21:25:22 +01:00
Jakub Doka
aa2de502cc
saving
2024-11-17 21:09:36 +01:00
Jakub Doka
542c69fd60
changing case checking to a warning
2024-11-17 20:57:10 +01:00
Jakub Doka
95e9270fef
adding case checking
2024-11-17 20:04:53 +01:00
Jakub Doka
fe5a8631f6
fixed a bug of not marking idents as used
2024-11-17 18:44:24 +01:00
Jakub Doka
8892dd729a
fixing the false return location
2024-11-17 18:15:58 +01:00
Jakub Doka
a7718e1220
cleaning up some code
2024-11-17 17:14:44 +01:00
Jakub Doka
e079bbd312
forgot to support explicit enum type
2024-11-17 16:30:59 +01:00
Jakub Doka
12b9d43754
adding minimal enums
2024-11-17 16:25:39 +01:00
Jakub Doka
397b2a4b1b
fixed a stack prelude postlude being needlesly generated + struct can now be compared
2024-11-17 10:06:10 +01:00
Jakub Doka
12bb7029b4
fixed float comparison in the vm
2024-11-16 21:38:10 +01:00
Jakub Doka
a64383e72b
saving
2024-11-16 20:52:38 +01:00
Igor null
2034152c83
added syntax highlighting to depell
2024-11-16 13:48:31 -06:00
Jakub Doka
13714eb513
removing stable feature supression
2024-11-16 17:41:40 +01:00
Jakub Doka
4088bd18b1
fixing compilation error for ableos
2024-11-16 17:29:30 +01:00
Jakub Doka
e94b812b3b
removing the regalloc dependency
2024-11-16 14:22:34 +01:00
Jakub Doka
e5d6b35f66
removing needless copies to zero register for unused values
2024-11-16 13:42:17 +01:00
Jakub Doka
e6df9b6b01
cleanup
2024-11-16 11:46:59 +01:00
Jakub Doka
baa70d3f12
removing needless copy into ret register
2024-11-16 10:16:35 +01:00
Jakub Doka
ec4499e519
removing duplicate un instruction
2024-11-16 10:05:56 +01:00
Jakub Doka
085c593add
removing needless truncation of zeroth register
2024-11-16 10:03:08 +01:00
Jakub Doka
867a750d8f
hopefully this is less of a mess now
2024-11-15 23:18:40 +01:00
Jakub Doka
b1b6d9eba1
fix the inference on itf
2024-11-15 22:53:22 +01:00
Jakub Doka
12be64965f
maybe fixed mandelbrot
2024-11-15 22:35:03 +01:00
Jakub Doka
7058efe75c
reverting phi transformation
2024-11-15 19:32:04 +01:00
Jakub Doka
afc1c5aac5
orginizing null checks better to get more peephole hits
2024-11-15 14:36:33 +01:00
Jakub Doka
83146cfd61
adding a simple peephole for phis
2024-11-15 13:06:03 +01:00
Jakub Doka
bb625a9e19
some cleanump and ironing out bugs in new regalloc
2024-11-15 12:04:05 +01:00
Jakub Doka
81cf39b602
adding more info for assert
2024-11-14 21:57:51 +01:00
Jakub Doka
e4da9cc927
adding regalloc, fixing needless semicolon insertion
2024-11-14 21:50:10 +01:00
Jakub Doka
454b0ffd1c
adding regalloc option
2024-11-14 21:34:31 +01:00
Jakub Doka
981c17ff19
fixing function destinations
2024-11-14 20:25:52 +01:00
Jakub Doka
d01e31b203
fixing stack return values
2024-11-13 16:18:21 +01:00
Jakub Doka
9cb273a04b
edge case of returning stack from inlined function
2024-11-13 15:56:37 +01:00
Jakub Doka
2e2b7612d9
some cleanup
2024-11-13 15:45:45 +01:00
Jakub Doka
f493c2776f
forgot to fix return
2024-11-13 15:27:35 +01:00
Jakub Doka
f77bc52465
fixing unchanged parsed file
2024-11-13 15:25:27 +01:00
Jakub Doka
f524013c34
making use of zero register
2024-11-13 10:28:16 +01:00
Jakub Doka
3c86eafe72
fixing another problem with rescheduling
2024-11-13 08:49:25 +01:00
Jakub Doka
0d87bf8f09
removing browser from nontest envs
2024-11-12 22:30:10 +01:00
Jakub Doka
e5a4561f07
very funny fix
2024-11-12 21:54:23 +01:00
Jakub Doka
b71031c146
prolly fix
2024-11-12 21:12:57 +01:00
Jakub Doka
dd51961fbb
adding assert for better error
2024-11-12 21:10:42 +01:00
Jakub Doka
63f2a0dac0
well...
2024-11-12 20:59:12 +01:00
Jakub Doka
4ec88e3397
adding pointer edgecase
2024-11-12 20:42:04 +01:00
Jakub Doka
f1e715e9bd
refactoring truncation
2024-11-12 19:02:29 +01:00
Jakub Doka
80fd0e89b4
fixing the inline flag delegation with generic functions
2024-11-12 17:32:20 +01:00
Jakub Doka
9949086011
allowing eca in inline functions
2024-11-12 17:11:39 +01:00
Jakub Doka
c701eb7b6d
adding extra test
2024-11-12 12:54:36 +01:00
Jakub Doka
f1deab11c9
making better peepholes and fixing overoptimization on memory swaps
2024-11-12 12:20:08 +01:00
Jakub Doka
f079daa42d
removing redundant loop phys
2024-11-11 23:33:36 +01:00