Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
64 check-ins using file bs/parse/resolver.cpp version d86ea3b3b7
|
2020-06-20
| ||
| 19:59 | Verifier: some fixes to correctly handle tuples. Still not quite working yet. check-in: 060e84f233 user: achavasse tags: trunk | |
| 16:07 | Fixed one of the tuple unification rule. check-in: 48bb81ebdd user: achavasse tags: trunk | |
| 14:32 |
| |
|
2020-06-15
| ||
| 22:09 | Refactored the integer/ct_int unification to defer the size/sign check to a postprocessing callback. check-in: ac4e681af3 user: achavasse tags: trunk | |
| 19:45 | Call "Postprocess" on unification solutions during the best solution lookup, so that custom postprocessing callbacks can trigger the rejection of a solution. check-in: daee557086 user: achavasse tags: trunk | |
| 19:16 | Moved some common code into a helper function to facilitate some future refactoring. check-in: df0ad9a7f1 user: achavasse tags: trunk | |
|
2020-06-13
| ||
| 22:59 |
| |
| 13:34 | Implemented new rules for implicit dereferencing and implicit referencing. check-in: 4d5cc07d86 user: achavasse tags: trunk | |
| 13:15 | Rewrote the reference unification rules. check-in: ba97c17dee user: achavasse tags: trunk | |
| 13:05 | Fixed eager evaluation not failing gracefully in some cases. check-in: c70d722331 user: achavasse tags: trunk | |
| 12:51 | Modify the reference IR representation so that we can have holes for the behavior. check-in: 385846b609 user: achavasse tags: trunk | |
|
2020-06-05
| ||
| 18:57 | Verifier: loops: instead of tracking and havocing modified variables during loops, track modified addresses, so that modifying only some fields of a tuple will not result in forgetting everything about the other fields. check-in: 54ef60956e user: achavasse tags: trunk | |
| 00:42 | Cleanup. check-in: ea28d09f80 user: achavasse tags: trunk | |
| 00:35 | Verifier: handle "StoreToAddress" for addresses that point to tuple members. check-in: 077c944c02 user: achavasse tags: trunk | |
|
2020-06-03
| ||
| 23:08 |
| |
|
2020-06-01
| ||
| 18:39 | Verifier: go through the LowerConstantForVerification extension point when building a constant expression. check-in: 98739f02b6 user: achavasse tags: trunk | |
| 01:21 | Cleanup. check-in: c793734a0a user: achavasse tags: trunk | |
| 01:06 | Verifier: refactored type handling and extended it to handle tuple types. check-in: 6f98718d3b user: achavasse tags: trunk | |
|
2020-05-30
| ||
| 14:25 | Enable's z3 new arith solver as the old one takes a very long time in one of the tests with the latest version of z3. check-in: 4b56796791 user: achavasse tags: trunk | |
|
2020-05-25
| ||
| 22:08 |
| |
|
2020-05-23
| ||
| 12:58 |
| |
|
2020-05-21
| ||
| 17:26 | Created a new term type to represent holes in IR expressions. The old system of representing holes using a vector of two values led to ambiguousness when creating some rule patterns: a tuple whose both type vector and payload vector were holes would be indistinguishable from a tuple containing two elements. check-in: 51c6751b6d user: achavasse tags: trunk | |
|
2020-05-19
| ||
| 17:07 | Added an unification rule for computed tuples which creates constant references for each members and unifies them. check-in: 2ecfa85c23 user: achavasse tags: trunk | |
| 15:03 | The TemporaryAddress address calculation mode now carries around the initializer value, in case the temporary doesn't already exist. This allows a reference to a temporary to be completely self contained in its value, rather than requiring a separate setup instruction to be emited in the cfg. check-in: 934090c5a8 user: achavasse tags: trunk | |
|
2020-05-18
| ||
| 12:39 |
| |
|
2020-05-17
| ||
| 17:30 |
| |
|
2020-05-16
| ||
| 19:32 | Repo: fix syntax highlighting with the latest trunk verison of fossil. check-in: 807a4f208b user: achavasse tags: trunk | |
| 19:21 | Minor cleanups. check-in: 6099081bdd user: achavasse tags: trunk | |
| 18:39 | Now that we can assign mutable references, it is possible to assign to a tuple member. Added a test for that. check-in: 27a74436f3 user: achavasse tags: trunk | |
| 18:32 | The builtin assignment operator overloads now return the reference to support chained assignments. check-in: ba2a02025d user: achavasse tags: trunk | |
|
2020-05-14
| ||
| 22:24 | The compound assignment operators now take a mutable reference as the lhs. check-in: e4cd7e104e user: achavasse tags: trunk | |
|
2020-05-13
| ||
| 18:15 |
References:
| |
|
2020-05-04
| ||
| 18:43 | Refactored the Initialize() extension point to take a mutable reference instead of directly taking a locvar. check-in: 10df99e08a user: achavasse tags: trunk | |
|
2020-05-03
| ||
| 15:32 | Simplified the llr address representation. check-in: 0b4eb97a44 user: achavasse tags: trunk | |
|
2020-04-22
| ||
| 23:27 | Removed llr::SetVar, now using the more generic llr::Store instead. check-in: 036092faf1 user: achavasse tags: trunk | |
|
2020-04-15
| ||
| 06:36 | Removed llr::GetVar, now using the more generic llr::Load instead. check-in: 20c242dc4f user: achavasse tags: trunk | |
|
2020-04-11
| ||
| 23:33 | Updated to the latest git version of llvm. check-in: d38aab5fc2 user: achavasse tags: trunk | |
| 21:01 |
| |
|
2020-03-11
| ||
| 22:11 | Reference: implemented a pattern provider for mutable references. check-in: 58491e544e user: achavasse tags: trunk | |
|
2020-03-07
| ||
| 16:36 | More work and fixes on references. Reading a tuple member using the . operator (which returns a constant reference) is now working. check-in: 1c33db7499 user: achavasse tags: trunk | |
|
2020-02-29
| ||
| 15:07 | Implemented unification for references. check-in: 4940c5c904 user: achavasse tags: trunk | |
|
2020-02-27
| ||
| 22:15 | Implemented the dot operator for tuples. check-in: 2f953408d9 user: achavasse tags: trunk | |
|
2020-02-26
| ||
| 22:48 | builtins: added the reference type. check-in: b4dfb8c928 user: achavasse tags: trunk | |
|
2020-02-23
| ||
| 23:57 | llr: added the load and store instructions. check-in: f34a90f312 user: achavasse tags: trunk | |
|
2020-02-22
| ||
| 21:22 | llr: added the GEP instruction. check-in: 1f1bc22ffc user: achavasse tags: trunk | |
|
2020-02-20
| ||
| 22:44 | Minor code formatting cleanup. check-in: 0af3d1c728 user: achavasse tags: trunk | |
| 22:42 |
| |
|
2020-02-17
| ||
| 23:15 | Register temporary values returned from function calls for destruction, so that DestroyValue() is invoked on them. check-in: a0ee0dfc2e user: achavasse tags: trunk | |
|
2020-02-15
| ||
| 15:13 | Started to implement a virtual memory sub system for compilation time execution. check-in: f18062b8da user: achavasse tags: trunk | |
|
2020-02-09
| ||
| 19:23 | Small cosmetic error messages fixes. check-in: edf6a9d2ed user: achavasse tags: trunk | |
| 19:02 |
Builtin operators:
| |
| 16:55 |
| |
|
2020-02-04
| ||
| 21:42 | Builtins: implemented helpers to construct complex computed values using expression templates. check-in: 6ed2bd7a75 user: achavasse tags: trunk | |
| 20:20 | Unfuck some documentation. check-in: 87f7150020 user: achavasse tags: trunk | |
|
2020-02-02
| ||
| 23:13 | Docs: small layout improvement. check-in: 0521bfdcdf user: achavasse tags: trunk | |
| 23:10 | Some documentation cleanup and update. check-in: c9186b7b9f user: achavasse tags: trunk | |
| 21:47 | Refinement types: implemented tests and fixed some issues. check-in: 972099a359 user: achavasse tags: trunk | |
|
2020-02-01
| ||
| 23:28 |
Refinement types:
| |
| 22:54 | Refinement types: when calling a function, assert the param's predicates and assume the return type's predicates. check-in: d828564e66 user: achavasse tags: trunk | |
| 22:32 | Refinement types: assert the return type predicates when returning from a function. check-in: 7259273cf9 user: achavasse tags: trunk | |
|
2020-01-28
| ||
| 21:52 | Refinement types: assume parameter types predicates at the beginning of functions. check-in: 7f16edb82a user: achavasse tags: trunk | |
|
2020-01-27
| ||
| 00:24 | Refinement types: parse predicates lazily to play well with templates. check-in: e57c63fea5 user: achavasse tags: trunk | |
|
2020-01-23
| ||
| 22:24 | Refinement types: implemented the where operator to add predicates to a type. check-in: 9586391cdb user: achavasse tags: trunk | |
|
2020-01-22
| ||
| 22:14 | Standardized the way type values are encoded to make room for an optional pointer to a list of predicates for refinement types. check-in: cc380f4f8f user: achavasse tags: trunk | |