koniifer
|
d3ee72306e
|
optional from eca test
|
2024-11-05 18:07:04 +00:00 |
|
Jakub Doka
|
87cb77a553
|
making a Backend trait to separate the different backends we will have in the fucture
|
2024-11-05 14:52:30 +01:00 |
|
Jakub Doka
|
276d1bb0cf
|
fixing tab indentation in error messages and depell not displaying errors
|
2024-11-05 09:41:57 +01:00 |
|
Jakub Doka
|
5cce904135
|
fixing struct null check on function arguments
|
2024-11-04 19:57:15 +01:00 |
|
Jakub Doka
|
3338d50672
|
nasty bug with rescheduled load
|
2024-11-04 19:18:37 +01:00 |
|
Jakub Doka
|
2e36f32ae0
|
fixing very sneaky bug
|
2024-11-04 12:38:47 +01:00 |
|
Jakub Doka
|
e8f1d2af8c
|
allowing 0 idk
|
2024-11-03 22:54:05 +01:00 |
|
Jakub Doka
|
999b25df8b
|
adding '_ = <expr>' syntax
|
2024-11-03 22:27:37 +01:00 |
|
Jakub Doka
|
61250c906a
|
comparison of non null types to null are now errors
|
2024-11-03 21:31:46 +01:00 |
|
Jakub Doka
|
44fc9c3e2e
|
deferring all null checks after the peepholes
|
2024-11-03 21:13:24 +01:00 |
|
Jakub Doka
|
9de631234d
|
adding unreachable
|
2024-11-03 10:15:03 +01:00 |
|
Jakub Doka
|
843fbddf3b
|
loops in inlined functions now work better
|
2024-11-03 08:59:42 +01:00 |
|
Jakub Doka
|
38a00cbaa0
|
some start for homemade regalloc
|
2024-10-31 14:56:55 +01:00 |
|
Jakub Doka
|
4664240e08
|
eliminating even more todos
|
2024-10-31 11:10:05 +01:00 |
|
Jakub Doka
|
56984f08ff
|
eliminating more todos
|
2024-10-31 10:56:59 +01:00 |
|
Jakub Doka
|
3f9f99ff65
|
adding optional values
|
2024-10-31 10:36:18 +01:00 |
|
Jakub Doka
|
9ed3c7ab9e
|
saving
|
2024-10-30 20:20:03 +01:00 |
|
Jakub Doka
|
acacd10ee9
|
microoptimizing bitset
|
2024-10-30 18:42:25 +01:00 |
|
Jakub Doka
|
f6f661cee3
|
finally struct operators fold into constant
|
2024-10-30 14:10:46 +01:00 |
|
Jakub Doka
|
4bfb5f192e
|
fixing the matrix
|
2024-10-30 13:45:19 +01:00 |
|
Jakub Doka
|
ea628c1278
|
saving
|
2024-10-29 20:38:33 +01:00 |
|
Jakub Doka
|
7448339605
|
removing return value temporary optimization sadly
|
2024-10-29 17:03:00 +01:00 |
|
Jakub Doka
|
da7cd5926c
|
unifiing annoying clobber logic
|
2024-10-29 15:15:30 +01:00 |
|
Jakub Doka
|
9cf7933251
|
clobber global loads across functions
|
2024-10-29 15:04:07 +01:00 |
|
Jakub Doka
|
24b9f9e78b
|
adding floating point conversions
|
2024-10-29 14:24:31 +01:00 |
|
Jakub Doka
|
80558ea7e6
|
adding floating point arithmetic
|
2024-10-29 13:36:12 +01:00 |
|
Jakub Doka
|
348d9014e3
|
adding a lot better load elimination
|
2024-10-29 10:31:52 +01:00 |
|
Jakub Doka
|
30bd6103a6
|
cleaning up some code
|
2024-10-29 10:01:37 +01:00 |
|
Jakub Doka
|
97eb985a02
|
removing specific opts from a fucntion and adding them to the general peepholes
|
2024-10-29 09:04:49 +01:00 |
|
Jakub Doka
|
7ef1adf7e2
|
saving
|
2024-10-28 23:38:57 +01:00 |
|
Jakub Doka
|
be828b8c54
|
properly handling cases when stack is referenced by dofferent part of the memory
|
2024-10-28 18:53:36 +01:00 |
|
Jakub Doka
|
b4b3bae104
|
fixing storing struct pointer bug
|
2024-10-28 18:39:42 +01:00 |
|
Jakub Doka
|
33d78fbc52
|
missing scoping
|
2024-10-28 17:22:18 +01:00 |
|
Jakub Doka
|
be2d38a6d2
|
making the aliasing analisys bit smarter
|
2024-10-28 17:19:41 +01:00 |
|
Jakub Doka
|
bbd7e12af4
|
saving this to make sure
|
2024-10-28 16:18:53 +01:00 |
|
Jakub Doka
|
37db783699
|
making stack peeps compatible with parallel alias classes
|
2024-10-28 12:39:26 +01:00 |
|
Jakub Doka
|
948710dc27
|
fixing an infeence bug
|
2024-10-28 12:36:46 +01:00 |
|
Jakub Doka
|
9c32f260a1
|
cleanup
|
2024-10-27 21:34:03 +01:00 |
|
Jakub Doka
|
047e1ed15c
|
adding null
|
2024-10-27 19:55:11 +01:00 |
|
Jakub Doka
|
2c2f0c048b
|
cleaning up tests
|
2024-10-27 19:13:25 +01:00 |
|
Jakub Doka
|
849e842336
|
dont write to the file if the contents did not differ from formatted
|
2024-10-27 18:56:29 +01:00 |
|
Jakub Doka
|
5c82623db9
|
removing stuff
|
2024-10-27 18:37:18 +01:00 |
|
Jakub Doka
|
e8a8fa3eb1
|
simplifiing upcasts, hwich conincidentally allowed more optimizations
|
2024-10-27 18:21:33 +01:00 |
|
Jakub Doka
|
5926f69e6c
|
fixing missing upcast
|
2024-10-27 18:04:50 +01:00 |
|
Jakub Doka
|
83d3fb4919
|
adding array reformatting rule
|
2024-10-27 16:07:46 +01:00 |
|
Jakub Doka
|
b429534d23
|
moving hbvm related code into one file
|
2024-10-27 14:29:14 +01:00 |
|
Jakub Doka
|
b187af64a8
|
removing old compiler
|
2024-10-27 13:57:00 +01:00 |
|
Jakub Doka
|
ce7bb001da
|
handling infinite loops properly
|
2024-10-27 11:32:34 +01:00 |
|
Jakub Doka
|
9c90adbfe8
|
removing idk for scalar values (antipattern)
|
2024-10-27 00:02:59 +02:00 |
|
Jakub Doka
|
3d721812f0
|
adding better dead code elimination
|
2024-10-26 20:29:31 +02:00 |
|
Jakub Doka
|
5b23a0661b
|
fixing peep_iter related bugs
|
2024-10-26 15:18:00 +02:00 |
|
Jakub Doka
|
7c919cd453
|
fixing nonexistent identifier file mismatch
|
2024-10-26 14:06:08 +02:00 |
|
Jakub Doka
|
bb61526d3e
|
eliminating more useless stack moves related to return values
|
2024-10-26 13:43:36 +02:00 |
|
Jakub Doka
|
45e1c6743a
|
eliminating more useless operations
|
2024-10-26 12:48:57 +02:00 |
|
Jakub Doka
|
39588579a8
|
using more typesafe locking
|
2024-10-26 12:09:53 +02:00 |
|
Jakub Doka
|
9095af6d84
|
appliing late peepholes
|
2024-10-26 10:45:50 +02:00 |
|
Jakub Doka
|
b62413046d
|
cleanup
|
2024-10-26 10:25:42 +02:00 |
|
Jakub Doka
|
af4d965b8c
|
fixed fmt error reporting
|
2024-10-26 09:53:14 +02:00 |
|
Jakub Doka
|
855da58e06
|
fixed a binor uga buga
|
2024-10-26 01:07:35 +02:00 |
|
Jakub Doka
|
2fc24f0f58
|
ups
|
2024-10-26 00:37:39 +02:00 |
|
Jakub Doka
|
8016b1fad5
|
adding rescheduling
|
2024-10-26 00:34:22 +02:00 |
|
Jakub Doka
|
46f9903562
|
adding error log when compiler crashes
|
2024-10-25 23:05:43 +02:00 |
|
Jakub Doka
|
517850f283
|
fixing undescriptive error or not enough arguments
|
2024-10-25 22:59:01 +02:00 |
|
Jakub Doka
|
faa8dd2e6f
|
adding pointer checks on ecas
|
2024-10-25 16:33:56 +02:00 |
|
Jakub Doka
|
d23d010917
|
fixing eror message
|
2024-10-25 16:08:20 +02:00 |
|
Jakub Doka
|
b1da36ecde
|
fixing upcasting signed to unsigned
|
2024-10-25 15:45:00 +02:00 |
|
Jakub Doka
|
e62aab9b4b
|
adding better binaro operator errors positions
|
2024-10-25 15:40:23 +02:00 |
|
Jakub Doka
|
423361a80e
|
forgottend typecheck on a struct
|
2024-10-25 15:31:49 +02:00 |
|
Jakub Doka
|
62a7c61cdc
|
properly selecting li instructions for integer sizes
|
2024-10-25 15:29:17 +02:00 |
|
Jakub Doka
|
2bab16d3ce
|
making never type cause less errors
|
2024-10-25 15:14:32 +02:00 |
|
Jakub Doka
|
c88daa4800
|
adding better negative number inference
|
2024-10-25 15:07:39 +02:00 |
|
Jakub Doka
|
6988d8893f
|
changing uint to be the default
|
2024-10-25 14:51:33 +02:00 |
|
Jakub Doka
|
64e228450f
|
little cleanup and fixing error recovery
|
2024-10-25 11:29:54 +02:00 |
|
Jakub Doka
|
897e121eeb
|
fixing stack alloc overoptimization
|
2024-10-24 19:57:36 +02:00 |
|
Jakub Doka
|
648bd24d0d
|
forgot to mul by 8
|
2024-10-24 16:26:28 +02:00 |
|
Jakub Doka
|
aefa7e6405
|
forgot
|
2024-10-24 15:49:41 +02:00 |
|
Jakub Doka
|
cb88edea1f
|
fixing overoptimization of load -> store
|
2024-10-24 15:39:38 +02:00 |
|
Jakub Doka
|
9c43dafcf5
|
fixing @as misbehaving
|
2024-10-24 14:08:17 +02:00 |
|
Jakub Doka
|
e65dbcfcbe
|
fixing bitcasts
|
2024-10-24 13:58:58 +02:00 |
|
Jakub Doka
|
e0d4955bd5
|
fixing small struct return
|
2024-10-24 13:25:30 +02:00 |
|
Jakub Doka
|
78ebc3292c
|
removing useless clobbers
|
2024-10-24 12:28:18 +02:00 |
|
Jakub Doka
|
0c2db878f0
|
adding the stack optimizations
|
2024-10-24 10:21:10 +02:00 |
|
Jakub Doka
|
cb9d7f7d1e
|
okay now it works
|
2024-10-24 09:43:07 +02:00 |
|
Jakub Doka
|
41b70bec43
|
should work better
|
2024-10-23 12:26:07 +02:00 |
|
Jakub Doka
|
f013e90936
|
better somehow
|
2024-10-22 22:57:40 +02:00 |
|
Jakub Doka
|
6977cb218c
|
seems to be compiling
|
2024-10-22 16:54:32 +02:00 |
|
Jakub Doka
|
3f30735eaa
|
seems to be compiling
|
2024-10-22 16:53:48 +02:00 |
|
Jakub Doka
|
58f4837ae0
|
eliminating important todo
|
2024-10-22 16:03:23 +02:00 |
|
Jakub Doka
|
b95bddac7b
|
ups
|
2024-10-22 12:57:49 +02:00 |
|
Jakub Doka
|
7d53706e71
|
adding --optimize flag to the compiler
|
2024-10-22 12:50:54 +02:00 |
|
Jakub Doka
|
4d699fcbf1
|
strinc operatos seem to work now
|
2024-10-22 12:40:41 +02:00 |
|
Jakub Doka
|
5aa6150c70
|
now the generic types work too
|
2024-10-22 10:17:16 +02:00 |
|
Jakub Doka
|
b0a85f44c9
|
fixing some bugs and making the generic types work, well not quite
|
2024-10-22 10:08:50 +02:00 |
|
Jakub Doka
|
2aa5ba9abc
|
generic functions work now
|
2024-10-22 07:20:08 +02:00 |
|
Jakub Doka
|
35d34dca54
|
sweeping trought more tests
|
2024-10-21 19:57:55 +02:00 |
|
Jakub Doka
|
bc817c4ea2
|
implementing directives
|
2024-10-21 18:57:23 +02:00 |
|
Jakub Doka
|
0298b32e38
|
sniping a peephole
|
2024-10-21 17:29:11 +02:00 |
|
Jakub Doka
|
73c9ccef6a
|
simplifing code patterns and sixing argument passing
|
2024-10-21 17:04:29 +02:00 |
|
Jakub Doka
|
ad4aed9c98
|
fixing loop bugs and some optimization edgecases
|
2024-10-21 15:12:37 +02:00 |
|
Jakub Doka
|
8528bef8cf
|
adding more tests, fixing pointer math, and integer upcasting
|
2024-10-20 21:50:08 +02:00 |
|
Jakub Doka
|
11c8755b18
|
implementing wide returns and adding integer upcast ops
|
2024-10-20 21:00:56 +02:00 |
|
Jakub Doka
|
1da900461c
|
fixing struct return and copy miscompilation
|
2024-10-20 18:49:41 +02:00 |
|
Jakub Doka
|
3aff6fc006
|
reorganizing the type parser trait
|
2024-10-20 16:43:25 +02:00 |
|
Jakub Doka
|
ccfde6c237
|
adding more tests and organizing things
|
2024-10-20 15:33:32 +02:00 |
|
Jakub Doka
|
44c4b71bb3
|
unifiing the type resolution into a trait
|
2024-10-20 15:16:55 +02:00 |
|
Jakub Doka
|
c3a6e62bf2
|
implementing strings
|
2024-10-20 12:22:28 +02:00 |
|
Jakub Doka
|
00949c4ea8
|
implementing global variables
|
2024-10-20 10:37:48 +02:00 |
|
Jakub Doka
|
15e4762d4a
|
cleanup: 2
|
2024-10-19 19:53:43 +02:00 |
|
Jakub Doka
|
959bfd7f76
|
cleanup: 1
|
2024-10-19 19:37:02 +02:00 |
|
Jakub Doka
|
6ad0b41759
|
fixing code scheduling bugs
|
2024-10-19 10:17:36 +02:00 |
|
Jakub Doka
|
89cc611f7a
|
good direction
|
2024-10-18 16:57:00 +02:00 |
|
Jakub Doka
|
cf74fdd99c
|
adding loops and seeing they totally not work
|
2024-10-18 16:52:54 +02:00 |
|
Jakub Doka
|
58578dd4b2
|
adding loops and seeing they totally not work
|
2024-10-18 16:51:54 +02:00 |
|
Jakub Doka
|
4a7b4e4ead
|
handling conditional stores
|
2024-10-18 13:11:11 +02:00 |
|
Jakub Doka
|
c900f4ef5c
|
removing offset from stores and loads
|
2024-10-18 09:52:50 +02:00 |
|
Jakub Doka
|
4336fec653
|
structs work with optimizations
|
2024-10-17 22:29:09 +02:00 |
|
Jakub Doka
|
11f6537a09
|
foo
|
2024-10-17 19:32:10 +02:00 |
|
Jakub Doka
|
f5ef62c6bb
|
fixing nasty bug
|
2024-10-17 15:48:22 +02:00 |
|
Jakub Doka
|
ea736d8824
|
lota of progress
|
2024-10-14 22:04:18 +02:00 |
|
Jakub Doka
|
dc2e0cc5b3
|
implementing dependency fetching
|
2024-10-14 13:25:38 +02:00 |
|
Jakub Doka
|
c9b85f9004
|
fixing sizeof not storing values
|
2024-10-13 22:24:57 +02:00 |
|
Jakub Doka
|
af147b3cb6
|
adding test for embed
|
2024-10-13 20:01:18 +02:00 |
|
Jakub Doka
|
0f8a720fe8
|
wrong handling of embeds
|
2024-10-13 16:38:51 +02:00 |
|
Jakub Doka
|
2ab6f6c914
|
resolving shadoving in inlined functions correctly
|
2024-10-13 16:16:27 +02:00 |
|
Jakub Doka
|
54d93608aa
|
correctly implementing big block copies
|
2024-10-13 15:49:14 +02:00 |
|
Jakub Doka
|
19a6cdd764
|
implementing embeds
|
2024-10-13 15:33:57 +02:00 |
|
Jakub Doka
|
2660d976fe
|
fixing arithmetic bug
|
2024-10-13 15:22:16 +02:00 |
|
Jakub Doka
|
659ccbd637
|
adding stricter typechecking
|
2024-10-13 14:11:17 +02:00 |
|
Jakub Doka
|
3a2367f24f
|
fixing some bugs
|
2024-10-13 13:30:00 +02:00 |
|
Jakub Doka
|
0f4ff918d2
|
fixing bugs and improving memory consumption
|
2024-10-13 12:25:12 +02:00 |
|
Jakub Doka
|
6d7e726066
|
fixing generic function inlining
|
2024-10-12 22:29:52 +02:00 |
|
Jakub Doka
|
9e65f3949d
|
fixing arg datarace
|
2024-10-12 22:21:20 +02:00 |
|
Jakub Doka
|
bf00dc85b2
|
progres on inline generic funcs and bettere error message
|
2024-10-12 22:03:53 +02:00 |
|
Jakub Doka
|
5364b66629
|
adding gzip to static files
|
2024-10-12 15:04:58 +02:00 |
|
Jakub Doka
|
c4826d3bfd
|
fixing feature incompatibility
|
2024-10-12 13:07:49 +02:00 |
|
Jakub Doka
|
07638caff0
|
starting the compiler wasm
|
2024-10-10 19:01:12 +02:00 |
|
Jakub Doka
|
5ef1ec4811
|
removing obvious temporary allocation
|
2024-10-10 16:08:03 +02:00 |
|
Jakub Doka
|
f0ae65606d
|
renaming directories, reducing temporary allocations during parsing
|
2024-10-10 15:48:08 +02:00 |
|