Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
104 check-ins using file bs/cir/arith.h version 38b93f4439
|
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 check-in: 57d4d0c79e user: achavasse tags: cir-ssa-refactor | |
|
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 check-in: 8ffbc35112 user: achavasse tags: cir-ssa-refactor | |
| 13:11 | Add missing file check-in: 9fcc77a4fa user: achavasse tags: cir-ssa-refactor | |
| 13:00 | Update to clang 18, pull some of the deps automatically when configuring check-in: 6f52a8bfa3 user: zlodo tags: cir-ssa-refactor | |
|
2024-04-09
| ||
| 22:55 | Here we go again. Life is pain. Life is suffering check-in: 99c630bf0a user: zlodo tags: cir-ssa-refactor | |
|
2024-03-30
| ||
| 08:58 |
structs:
| |
|
2024-03-23
| ||
| 12:47 |
structs:
| |
|
2024-03-14
| ||
| 23:23 |
| |
|
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 check-in: 1793989d05 user: zlodo tags: trunk | |
|
2024-01-03
| ||
| 22:20 | Added _LowerType extension point, called to decide what type to use when allocating locvars check-in: 11b6bc7f84 user: zlodo tags: trunk | |
|
2024-01-02
| ||
| 22:41 | Structs: build the default ctor and add it as an overload of _Initialize. check-in: ad919df201 user: zlodo tags: trunk | |
|
2024-01-01
| ||
| 23:23 | Structs: build the underlying tuple type in finalize() check-in: 7bf7fc54a6 user: zlodo tags: trunk | |
|
2023-12-30
| ||
| 21:58 | Structs: invoke initialize upon creating a member variable (for the default ctor) check-in: f47d37b2d5 user: zlodo tags: trunk | |
|
2023-12-28
| ||
| 13:57 | Structs: inside of the struct's scope, materialize member variables as refs (so they can be used in the initialization expressions for following member variables declarations) check-in: 8647b9c619 user: zlodo tags: trunk | |
|
2023-12-26
| ||
| 15:41 | Structs: add the Finalize extension point that finalizes the creation of a struct after gathering its content. check-in: f1458583b5 user: zlodo tags: trunk | |
|
2023-12-16
| ||
| 00:02 | Struct builder: gather var members check-in: bce164db61 user: zlodo tags: trunk | |
|
2023-12-14
| ||
| 23:30 | Structs: perform lazy parsing when a struct type is used. check-in: 4ea0bba9a7 user: zlodo tags: trunk | |
|
2023-12-11
| ||
| 00:08 | Move the local type inference code out of locvar and into its own function so it can be reused for struct members check-in: 1f1faa7fe2 user: zlodo tags: trunk | |
|
2023-12-09
| ||
| 19:56 | Remove some dead code. check-in: f99a469d36 user: zlodo tags: trunk | |
| 19:44 | Assigning something to a Decl or a TNamedDecl no longer directly declares a variable but creates an intermediate DeclWithInit or TNamedDeclWithInit, which declare variables when dropped. check-in: 308bd3ed4d user: zlodo tags: trunk | |
|
2023-12-08
| ||
| 21:16 | Some work on struct builder check-in: ae07ee4400 user: zlodo tags: trunk | |
|
2023-12-06
| ||
| 20:49 | Begin implementing structs. check-in: 973848d259 user: zlodo tags: trunk | |
|
2023-12-05
| ||
| 18:43 |
| |
|
2023-11-30
| ||
| 18:29 | Handful of fixes and improvements from an abandoned refactor of inline funcs, will go for a different solution check-in: 5b069c9677 user: zlodo tags: trunk | |
|
2023-11-08
| ||
| 21:45 |
| |
|
2023-11-05
| ||
| 13:11 |
| |
| 13:04 | Implemented inline functions check-in: 96c02f37d1 user: zlodo tags: trunk | |
|
2023-10-05
| ||
| 00:14 | Removed the work queue and implemented a proper dependency manager with callbacks check-in: 0e7409855c user: zlodo tags: trunk | |
|
2023-09-21
| ||
| 18:08 |
| |
|
2023-08-28
| ||
| 20:36 |
| |
|
2023-08-27
| ||
| 22:30 |
| |
| 21:13 | Interpreter: simplify handling of temporaries check-in: 3fbe5ad303 user: zlodo tags: trunk | |
|
2023-08-25
| ||
| 18:44 | Some cleanup in preparation for getting rid of proposition lists check-in: f605c7c4a3 user: zlodo tags: trunk | |
|
2023-08-24
| ||
| 21:55 | Verifier: optimize the way CreateTemporary/GetTemporary are handled check-in: 942f3c4fe0 user: zlodo tags: trunk | |
|
2023-08-21
| ||
| 17:33 | Refactor CompileFunc to untangle things a bit check-in: ecc62fe531 user: zlodo tags: trunk | |
|
2023-08-18
| ||
| 18:40 | Added helper functions to bind parameters to a proposition list and append its content to a basic block check-in: fc3d788320 user: zlodo tags: trunk | |
|
2023-08-13
| ||
| 18:23 | forall statement: factorise out the bracket block parsing check-in: 890f3f7581 user: zlodo tags: trunk | |
| 18:04 | It turns out cmake hadn't, in fact, failed me for the last time: migrating back from meson to cmake check-in: 9722f7aa3f user: zlodo tags: trunk | |
|
2023-08-02
| ||
| 22:14 | Update mimalloc and Catch check-in: 9ee0c01395 user: zlodo tags: trunk | |
| 21:46 | Implemented forall statement check-in: 32f94cd2e1 user: zlodo tags: trunk | |
|
2023-07-22
| ||
| 17:26 | Add zstd dependency (some versions of the lld libs need it now) check-in: e4bae45a24 user: zlodo tags: trunk | |
|
2023-07-15
| ||
| 19:25 | Fixed values not being destroyed when a lifetime scope ends check-in: 9a57f2204f user: zlodo tags: trunk | |
|
2023-07-13
| ||
| 21:45 | CIR, verifier: added forall quantified variables check-in: 20223acc66 user: zlodo tags: trunk | |
|
2023-07-06
| ||
| 23:03 | Implemented "IsPrefixOf" intrinsic function. check-in: 045e459cb4 user: zlodo tags: trunk | |
| 18:25 | Verification: add IsPrefixOf instruction check-in: 33d8f4d593 user: zlodo tags: trunk | |
|
2023-07-05
| ||
| 22:01 |
Some builtins to work with references during verification:
| |
|
2023-07-01
| ||
| 11:21 | Execute: function argument passing simplification (overlooked from back when the CIR was turned into a stack language) check-in: 2e14edebd0 user: zlodo tags: trunk | |
|
2023-06-30
| ||
| 22:41 |
Verifier:
| |
|
2023-06-22
| ||
| 23:33 | Implemented lowering of Addresses into a tuple representation for verification check-in: 25b51220ed user: zlodo tags: trunk | |
|
2023-06-17
| ||
| 10:15 |
| |
|
2023-05-31
| ||
| 21:34 | Lifetimes: implemented verifier's z3 representation check-in: b1d4853b7f user: zlodo tags: trunk | |
|
2023-05-05
| ||
| 18:03 | Lifetime specifications parsing check-in: bb7e75cb1b user: zlodo tags: trunk | |
|
2023-04-03
| ||
| 22:37 | Moved the code that emits type predicate checks for values returned by intrinsics into an extension point check-in: 72cb3ae97a user: zlodo tags: trunk | |
|
2023-03-28
| ||
| 19:44 | Get rid of the TCRINFOS macro, use std::source_location instead to remove some noise check-in: d9414ddc6f user: zlodo tags: trunk | |
|
2023-03-27
| ||
| 18:34 |
| |
|
2023-03-06
| ||
| 22:24 | prelude: implemented UnwrapValue check-in: c550a4bc43 user: zlodo tags: trunk | |
|
2023-03-05
| ||
| 22:24 |
| |
|
2023-02-28
| ||
| 00:55 |
| |
|
2023-02-20
| ||
| 17:54 | Migrated to clang16/llvm16. Created a shitty layer on top of llvm to cope with losing the pointee types from llvm pointer types (which are now opaques). It was a huge pain in the ass. check-in: 0c646816e4 user: zlodo tags: trunk | |
|
2023-02-07
| ||
| 15:49 | Removed the ToType extension point, go through typechecking instead for converting things such as tuple of types into types. This is more generic than the previous approach and will avoid some pitfalls in the future. check-in: 1b18849f5c user: zlodo tags: trunk | |
|
2023-01-30
| ||
| 19:33 | Implemented the _IsTrivialInitialization extension point to optimize tuple initialization in the same way as assignments check-in: d70fa1ef12 user: zlodo tags: trunk | |
|
2023-01-29
| ||
| 20:48 |
| |
|
2023-01-24
| ||
| 18:02 |
| |
|
2023-01-10
| ||
| 22:29 | ToString: don't print addresses of void pointers anymore check-in: c8f5e99651 user: zlodo tags: trunk | |
| 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 check-in: 4edae7e1a3 user: zlodo tags: trunk | |
|
2023-01-09
| ||
| 19:06 | Fixed bad hashing implementation of terms containing a locationId that caused some absurd crash in the verifier check-in: 8fd3b7a078 user: zlodo tags: trunk | |
|
2023-01-06
| ||
| 19:13 | Remove redundant calls to the ToType extension point when compiling function bodies check-in: 78a358141d user: zlodo tags: trunk | |
|
2023-01-05
| ||
| 19:44 | Fixed passing tuple by value to functions, which involved properly handling type checking of constant tuples containing computed data and some codegen bugs check-in: 9b8306c3af user: zlodo tags: trunk | |
|
2022-11-21
| ||
| 18:59 |
| |
|
2022-11-20
| ||
| 10:49 | g0api: expose some tuple and some parsing stuff check-in: ec453bb5a1 user: zlodo tags: trunk | |
|
2022-11-17
| ||
| 22:57 | Remove an old z3 workaround that doesn't seem necessary anymore check-in: 44da39ac61 user: zlodo tags: trunk | |
| 22:43 |
g0api:
| |
| 00:46 |
expose more compiler functionality to g0api:
| |
|
2022-11-11
| ||
| 20:01 |
| |
|
2022-09-02
| ||
| 21:42 |
| |
|
2022-08-29
| ||
| 20:42 | Partial implementation of compile-time for loop (rest to be done in prelude but needs a handful additional apis) check-in: 24b6c5ae2e user: zlodo tags: trunk | |
|
2022-08-28
| ||
| 17:12 | vararg templates: completed the pack TExpr and pack TVars implementations (need tests) check-in: 0146622968 user: zlodo tags: trunk | |
|
2022-07-30
| ||
| 11:41 | varargs: simplify (not going to attempt handling nesting repetitions after all) check-in: 4c0f447d59 user: zlodo tags: trunk | |
|
2022-07-25
| ||
| 17:23 | vararg templates: set the signature of pack texprs as the repeating part of the vector, and diagnose packs not appearing last check-in: 27cf09cdf5 user: zlodo tags: trunk | |
|
2022-07-22
| ||
| 00:36 | Switch back to using fmtlib so we can build with clang 14 for stability and since nowadays we apparently can't expect to be able to use c++ features that were accepted in the standard 2 years ago :/ check-in: 7e6d3483ec user: zlodo tags: trunk | |
|
2022-07-21
| ||
| 01:09 | Small cleanup check-in: 6e0a90698d user: zlodo tags: trunk | |
|
2022-07-20
| ||
| 19:22 | vararg template: added pack TExpr and ellipsis operator check-in: ba07901758 user: zlodo tags: trunk | |
|
2022-07-18
| ||
| 23:45 | vararg templates: added a "prepare template" step prior to generating the template signature, which does nothing yet check-in: fe34bd71de user: zlodo tags: trunk | |
| 00:14 | Keep track of the repetition depth of pack TVars, and assign a new value index for each repetition of a pack hole check-in: a2a6841c8b user: zlodo tags: trunk | |
|
2022-07-17
| ||
| 10:51 | Fixed a bug in the verification instruction filter that somehow resulted in failed tests only on mac check-in: 64463a60a6 user: zlodo tags: trunk | |
|
2022-07-16
| ||
| 14:42 | Varargs: added a "nested repetition depth" property to holes check-in: 97ff23912a user: zlodo tags: trunk | |
|
2022-07-05
| ||
| 22:10 | TypeChecking: keep track of nested repetition indices for each sub context check-in: 95bdac72ca user: zlodo tags: trunk | |
|
2022-07-04
| ||
| 21:48 | Minor cleanup check-in: 29b4ebb32f user: zlodo tags: trunk | |
| 21:20 | typechecking: refactor type checking context to be able to hold more sub-context information than hole namespace indices check-in: 9fd8a2a87e user: zlodo tags: trunk | |
| 17:45 | Refactored some template rules and type checking rules to avoid calling BuildTemplateSignature from inside type checking rules check-in: 64224a915f user: zlodo tags: trunk | |
|
2022-07-02
| ||
| 14:22 | Vararg templates: function param decls with open tuple types are expanded into multiple params check-in: ecd5b0e89a user: zlodo tags: trunk | |
|
2022-06-30
| ||
| 19:06 | Remove obsolete TODO check-in: 3f5776378b user: zlodo tags: trunk | |
| 17:58 | Verifier: fix unique id generation to be done on a per function basis rather than globally to make the z3 generation tests more stable check-in: f4e40b75d7 user: zlodo tags: trunk | |
|
2022-06-29
| ||
| 21:47 | The CIR is no longer made out of instructions that are basically expression trees, but is now instead a stack language to make it possible to insert verification instructions before and after the evaluation of individual function arguments check-in: 1f87fbda15 user: zlodo tags: trunk | |
| 21:39 |
| |
|
2022-06-28
| ||
| 22:51 | Removed an unusued file and a left over debugging profanity check-in: 6c5b747f5c user: zlodo tags: cir-stack-language | |
| 22:23 | codegen: improved the translation of address computations into llvm GEP instructions check-in: 2a03dd67e5 user: zlodo tags: cir-stack-language | |
|
2022-06-27
| ||
| 16:56 |
| |
|
2022-06-23
| ||
| 20:56 | Ported most of the g0 api to the new CIR language check-in: 9eb48e68a1 user: zlodo tags: cir-stack-language | |
| 20:01 | Correctly handle ghost func applications as "storage locations" alongside regular addresses, fixes the remaining ghost func test check-in: 68da32e88b user: zlodo tags: cir-stack-language | |
|
2022-06-22
| ||
| 20:06 | Re-implemented "addr modified by loop" stuff (except ghost func related stuff) and re-enabled loop verification tests check-in: a0a57b5e22 user: zlodo tags: cir-stack-language | |
|
2022-06-21
| ||
| 17:26 | Removed a bit of dead code check-in: b78a3ea203 user: zlodo tags: cir-stack-language | |
| 17:09 |
| |
|
2022-06-18
| ||
| 18:51 |
| |