Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
History of file bs/builtins/api/compiler.cpp at check-in bb17e9f3dd6fb2f5
|
2024-09-15
| ||
| 20:24 | Add clang format settings, reformat everything file: [a1232b0522] check-in: [0db147f117] user: achavasse branch: cir-ssa-refactor, size: 11773 | |
|
2024-09-13
| ||
| 21:05 | Drop in the most apocalyptic changes: new CIR instruction structure, new sequence builder, new compile time address representation, do almost just the bare minimum to compile again. A few simple things are still working somehow file: [3c3ff322fd] check-in: [57d4d0c79e] user: achavasse branch: cir-ssa-refactor, size: 11838 | |
|
2024-04-09
| ||
| 22:55 | Here we go again. Life is pain. Life is suffering file: [a6d7f234ad] check-in: [99c630bf0a] user: zlodo branch: cir-ssa-refactor, size: 11391 | |
|
2023-12-06
| ||
| 20:49 | Begin implementing structs. file: [495f86f001] check-in: [973848d259] user: zlodo branch: trunk, size: 11368 | |
|
2023-08-02
| ||
| 21:46 | Implemented forall statement file: [e9520a8555] check-in: [32f94cd2e1] user: zlodo branch: trunk, size: 11362 | |
|
2023-03-27
| ||
| 18:34 |
| |
|
2023-03-05
| ||
| 22:24 |
| |
|
2023-01-10
| ||
| 22:01 | Implemented textual dump of a function's CIR to more easily inspect it and implement some code generation tests at the CIR level file: [6b25727cfc] check-in: [4edae7e1a3] user: zlodo branch: trunk, size: 11589 | |
|
2022-06-11
| ||
| 12:29 | Verification now mostly works again, tests not re-enabled yet file: [7567a36c9e] check-in: [17301ed8fc] user: zlodo branch: cir-stack-language, size: 10373 | |
|
2022-05-16
| ||
| 23:40 | Temporarily disabled codegen, verification, and all the tests that can't work without these file: [58b3735de0] check-in: [5fc7b0623f] user: zlodo branch: cir-stack-language, size: 9226 | |
|
2021-11-11
| ||
| 20:05 | Refactored the code builder: it is now carried around as a Value, and accessed through a bunch of extension points, so we can have different builders (and even user defined ones) later to make classes etc. file: [46160ae757] check-in: [1ad61a2717] user: zlodo branch: trunk, size: 9190 | |
|
2021-11-03
| ||
| 22:55 |
| |
|
2021-09-30
| ||
| 23:37 | Fixed a couple of bugs, but the linux version is broken for now (due to language bugs that can't be worked around and need to be fixed) file: [6256d2f260] check-in: [24415e41e4] user: zlodo branch: trunk, size: 9192 | |
| 22:07 | Correctly generate and link executables on darwin file: [cd4287b2b2] check-in: [5f6197d1a0] user: zlodo branch: trunk, size: 9156 | |
| 19:14 | Added a builtin g0 variable that exposes the name of the target OS, just to be able to quickly hack around some rudimentary mac support file: [85f403dcf8] check-in: [ec5428614c] user: zlodo branch: trunk, size: 8841 | |
|
2021-09-28
| ||
| 17:59 | Fix functions and template functions not getting compiled with visibility over their original enclosing scope, but over the current scope at the point of invocation instead file: [c5f7d13631] check-in: [39c8a653da] user: achavasse branch: trunk, size: 8710 | |
|
2021-09-20
| ||
| 23:23 | Integrated the Tracy profiling client and added some profiling instrumentation file: [3a8d0eab02] check-in: [b846dfa2fb] user: achavasse branch: trunk, size: 8700 | |
|
2021-09-19
| ||
| 16:06 | Began implementing the prelude, which now sets up the g1 namespace, hiding all the internal builtins and APIs from user code. file: [418205c7dc] check-in: [15fd7eba11] user: achavasse branch: trunk, size: 8877 | |
| 14:42 | g0 api: #CompileFileToFunction takes the identity to use as root as parameter file: [66c9327c65] check-in: [dd5e98c20d] user: achavasse branch: trunk, size: 8994 | |
| 14:23 | g0 api: Env file: [c8d9e154e2] check-in: [0da72aac62] user: achavasse branch: trunk, size: 9033 | |
| 13:59 | g0 api: diagnostics file: [e19b99eb9a] check-in: [5ccfe91819] user: achavasse branch: trunk, size: 9037 | |
|
2021-09-12
| ||
| 16:48 |
| |
| 12:34 | Renamed and modified bs/builtins/api/compiler.cpp → bs/g0api/compiler.cpp. Split out the compile time api function out of builtins and into their own library file: [a147be0fc3] check-in: [b397dc5a7c] user: achavasse branch: trunk, size: 9851 | |
|
2021-08-31
| ||
| 23:10 |
| |
|
2021-03-02
| ||
| 22:51 | Removed magic "tuple of types to tuple type" conversions and moved them into extension points so that any type can implement similar semantics file: [59b1fb2295] check-in: [2370e98869] user: achavasse branch: trunk, size: 9787 | |
|
2021-02-25
| ||
| 12:10 | Implemented a new method to order function overloads. Enabled several new reference tests which are now working properly. file: [be1f536131] check-in: [52ea24b083] user: achavasse branch: trunk, size: 9784 | |
|
2021-02-21
| ||
| 17:15 | Improved the #DumpValue debugging intrinsic file: [e5eb311584] check-in: [cb0fd19317] user: achavasse branch: trunk, size: 9783 | |
|
2021-01-11
| ||
| 20:20 | Reorganized symbols visibility a bit to avoid local variables from the enclosing function to be visible inside of function parameter list declarations (which prevented reusing them as parameter names). file: [e7fed90a72] check-in: [52280a3c5c] user: achavasse branch: trunk, size: 9666 | |
|
2021-01-02
| ||
| 18:00 | Some more renaming. file: [9e0e5f14cb] check-in: [0345b9f807] user: achavasse branch: trunk, size: 8759 | |
|
2020-12-27
| ||
| 14:40 | Renamed "ir" to "eir" (expression intermediate representation) and "llr" to "cir" (code intermediate representation) for clarity. file: [0b1e836161] check-in: [7d2def7b75] user: achavasse branch: trunk, size: 8765 | |
|
2020-07-09
| ||
| 21:56 | Cut of the verifier from the build for now. file: [58912c031d] check-in: [dad5591dee] user: achavasse branch: llr-stack-language, size: 8815 | |
|
2020-06-26
| ||
| 23:34 |
Cleanup:
| |
|
2020-06-13
| ||
| 12:51 | Modify the reference IR representation so that we can have holes for the behavior. file: [7338d9572c] check-in: [385846b609] user: achavasse branch: trunk, size: 9148 | |
|
2020-05-25
| ||
| 22:08 |
| |
|
2020-05-17
| ||
| 17:30 |
| |
|
2020-02-17
| ||
| 23:15 | Register temporary values returned from function calls for destruction, so that DestroyValue() is invoked on them. file: [2c1dad4735] check-in: [a0ee0dfc2e] user: achavasse branch: trunk, size: 8400 | |
|
2020-01-11
| ||
| 18:28 |
| |
|
2019-12-05
| ||
| 17:40 | Implemented a helper to check whether a type is compile-time only. file: [ed057633e0] check-in: [12f37d77cb] user: achavasse branch: trunk, size: 8323 | |
|
2019-11-18
| ||
| 01:40 | Verifier: first seemingly working version of the k-induction loop checker. file: [18ca40d2ae] check-in: [477ef5b3d4] user: achavasse branch: trunk, size: 8374 | |
|
2019-10-15
| ||
| 00:04 | llr: implemented a helper function to compute dominators. file: [128126a45f] check-in: [cfc94e192c] user: achavasse branch: trunk, size: 7228 | |
|
2019-10-09
| ||
| 19:21 | Some renaming for consistency and to match commonly used names for those things. file: [6f4ac25870] check-in: [5e72e8e08c] user: achavasse branch: trunk, size: 7188 | |
|
2019-10-05
| ||
| 14:50 | verification: implemented a trace mode that only dumps the z3 expressions. file: [0b08aca32b] check-in: [0b95fe304a] user: achavasse branch: trunk, size: 7200 | |
|
2019-09-29
| ||
| 22:30 |
| |
|
2019-09-22
| ||
| 14:37 | Project renaming. file: [ab680901ce] check-in: [af650a9e95] user: achavasse branch: trunk, size: 7355 | |
|
2019-09-16
| ||
| 21:38 |
| |
|
2019-08-27
| ||
| 20:27 | Tuples containing only types or other tuples of types are now considered types. file: [da45e798f2] check-in: [533d2ce579] user: achavasse branch: trunk, size: 7357 | |
| 19:46 | Live values are now identified by an unique id to avoid using a fragile, non future proof way to extend the lifetime of local variables beyond their containing statements. file: [e5b43177d9] check-in: [39cabb3447] user: achavasse branch: trunk, size: 7356 | |
|
2019-08-24
| ||
| 19:33 | More cleanup around which builtin functions should be intrinsics/eager/non eager. file: [d918e677a8] check-in: [fece958df9] user: achavasse branch: trunk, size: 7356 | |
| 16:54 |
| |
| 13:42 | Factored out the common code of Compiler::execute(), ExecuteFile() and #CompileFileToFunction(). file: [f40286f02b] check-in: [0c5641877d] user: achavasse branch: trunk, size: 5100 | |
|
2019-08-23
| ||
| 20:18 |
| |
|
2019-08-21
| ||
| 13:38 |
| |
|
2019-08-19
| ||
| 13:43 |
| |
|
2019-08-18
| ||
| 20:54 |
| |
| 18:52 |
| |
| 14:51 |
| |
| 00:54 |
| |
|
2019-08-14
| ||
| 02:30 |
| |
|
2019-08-13
| ||
| 21:21 |
| |
| 00:42 | Diagnostics: use value poisoning to (hopefully) fix most cases of superfluous cascading error messages. file: [402cd0689a] check-in: [59ecc02baa] user: achavasse branch: trunk, size: 5954 | |
|
2019-08-12
| ||
| 20:15 |
| |
|
2019-08-11
| ||
| 17:18 |
| |
|
2019-08-10
| ||
| 19:33 | Implemented a DiagnosticsContext class which can be used to push contextual informations that are printed when an error is emitted. file: [b089669b65] check-in: [ffa2c830dd] user: achavasse branch: trunk, size: 5077 | |
| 17:50 | lexer: generate token locations. file: [ecfea93975] check-in: [bd2fd03a33] user: achavasse branch: trunk, size: 4977 | |
|
2019-08-09
| ||
| 19:54 | Cleanup: got rid of the half-assed location and poisoning systems in ir::Terms. file: [6e5e7ee18e] check-in: [aee388d9c0] user: achavasse branch: trunk, size: 5057 | |
|
2019-07-31
| ||
| 16:06 | Function's llr representations lifetimes are now handled by Env, and function values only contain raw pointers to their LLR. This is to avoid leaks with recursive functions. file: [a8e4edf958] check-in: [1effb3a67a] user: achavasse branch: trunk, size: 5057 | |
| 14:05 |
Fixed some cyclic reference issues with cyclic CFGs:
| |
|
2019-07-30
| ||
| 22:05 |
| |
|
2019-07-27
| ||
| 13:04 | Implemented external runtime functions. file: [e39ec0ad6e] check-in: [6a99df8278] user: achavasse branch: trunk, size: 5142 | |
|
2019-07-26
| ||
| 22:30 |
| |
| 01:50 | Fix the Env never being deleted due to captured shared_ptr in some builtin functions which created reference cycles. file: [74b282bcb8] check-in: [1eb3c4a890] user: achavasse branch: trunk, size: 4563 | |
|
2019-07-14
| ||
| 19:29 |
codegen:
| |
|
2019-07-13
| ||
| 23:30 |
| |
|
2019-06-19
| ||
| 19:49 |
| |
|
2019-06-16
| ||
| 14:41 | Added the current domain to sema context, and include it in function identities. file: [4b2a160834] check-in: [7e053c8063] user: achavasse branch: trunk, size: 1514 | |
|
2019-04-13
| ||
| 22:03 | Added: api: added a builtin Execute command, which executes the specified file. Also added the possibility to optionally return an error code. file: [286e5ac2f8] check-in: [47708770e6] user: achavasse branch: trunk, size: 1493 | |