Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
History of file bs/cir/helpers.cpp at check-in 7d2def7b7561cbe9
|
2024-10-01
| ||
| 22:43 | Commiting the current WIP for archival purpose before focusing on the inane rewrite in rust file: [d73bb3bc51] check-in: [ce99bb3280] user: achavasse branch: cir-ssa-refactor, size: 2770 | |
|
2024-09-15
| ||
| 20:24 | Add clang format settings, reformat everything file: [4498be21ef] check-in: [0db147f117] user: achavasse branch: cir-ssa-refactor, size: 2341 | |
|
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: [4c74345591] check-in: [57d4d0c79e] user: achavasse branch: cir-ssa-refactor, size: 2399 | |
|
2024-08-31
| ||
| 14:05 | Refactor Instruction to be just a variant instead of a class containing a variant and a clownshoes bunch of constructors file: [69fa6e8e1b] check-in: [8ffbc35112] user: achavasse branch: cir-ssa-refactor, size: 2040 | |
|
2024-02-09
| ||
| 18:05 | Lowering: completely reworked all lowering to happen in the same two unified extension points upstream of all three CIR consumers file: [684e531e5f] check-in: [1793989d05] user: zlodo branch: trunk, size: 2787 | |
|
2023-08-02
| ||
| 21:46 | Implemented forall statement file: [f9bbe30869] check-in: [32f94cd2e1] user: zlodo branch: trunk, size: 1604 | |
|
2022-05-26
| ||
| 11:31 | Re-enabled codegen and related tests, and adapted it to the now stack-based CIR language file: [b8a55673d6] check-in: [dd5c48041c] user: zlodo branch: cir-stack-language, size: 1596 | |
|
2022-05-23
| ||
| 09:04 | Added a CIR instruction to push a constant on the stack file: [f4aead7d15] check-in: [0d0130b939] user: zlodo branch: cir-stack-language, size: 1377 | |
| 08:44 |
| |
|
2021-01-03
| ||
| 15:44 | cir: load, store and select store their base addresses directly as cir instructiions, rather than wrapped into eir values, which is useless there. file: [57f26a8591] check-in: [4cc7a833f8] user: achavasse branch: trunk, size: 403 | |
|
2021-01-02
| ||
| 18:24 | Yet one more reference/address refactor: each calculation step (getting temp addr, getting var addr, selecting a member) is now a separate cir instruction. We need this level of generalization to be able to obtain addresses from anywhere, including variables and function parameters. file: [f0364095fc] check-in: [26c691ecb9] user: achavasse branch: trunk, size: 577 | |
|
2020-12-27
| ||
| 14:40 | Renamed and modified bs/llr/helpers.cpp → bs/cir/helpers.cpp. Renamed "ir" to "eir" (expression intermediate representation) and "llr" to "cir" (code intermediate representation) for clarity. file: [a4c91addd1] check-in: [7d2def7b75] user: achavasse branch: trunk, size: 659 | |
|
2020-12-18
| ||
| 01:29 | References refactor: references are now values all the way to the llr, where a new "CalcAddress" instruction represents a conversion from a logical address (location + path) into an actual runtime or compilation time address. This is in preparation to allow references to be stored in variables or passed as parameters. (It just took 4.5 months to finish this... Refactoring just sucks) file: [c39a3720e3] check-in: [8ddd71f9b2] user: achavasse branch: trunk, size: 656 | |
|
2020-07-18
| ||
| 16:25 |
Computed values now carry lists of instructions around, instead of expression trees. Also absolutely nothing works anymore.
Update: closing this branch as I will finally not pursue this. file: [3fe283bf09] check-in: [7a7e54ac04] user: achavasse branch: llr-stack-language, size: 824 | |
|
2019-09-22
| ||
| 14:37 | Project renaming. file: [0cf572be67] check-in: [af650a9e95] user: achavasse branch: trunk, size: 401 | |
|
2019-08-01
| ||
| 22:49 | Implemented the logic or operator. Not functional yet due to an architectural flaw. file: [786048f507] check-in: [d939807dfa] user: achavasse branch: trunk, size: 1157 | |
| 20:25 |
| |
|
2019-03-02
| ||
| 21:01 | Function calls are now eagerly evaluated during parsing. file: [4677647f45] check-in: [8a8e76084e] user: achavasse branch: trunk, size: 403 | |
| 12:33 | Added: llr: added predicates to quickly test if an llr element is suitable for compilation time execution, or for eager evaluation. file: [182887e03a] check-in: [d2c4e27b15] user: achavasse branch: trunk, size: 222 | |