Goose  Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

18 check-ins using file bs/verify/call.cpp version 89e670bdbd

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
  • Added a "LowerConstantForRuntime" extension point, similar to LowerTypeForRunTime.
  • Added a way to represent Record constants.
  • Implemented LowerConstantForRunTime for tuples, which lowers them into a constant record.
  • Implemented codegen for constant records.
  • Implemented codegen for storing an aggregate constant.
  • Implemented a way (not exposed in the syntax for now) to create vararg function types, to be able to call vararg external functions such as printf.
  • Enabled the tuple runtime/compilation combined test which is now working.
  • Various bug fixes.
check-in: bb17e9f3dd user: achavasse tags: trunk
2020-05-23
12:58
  • Fixed the hole matching score which prevented some unification rules to be selected.
  • Implemented LowerTypeForRuntime for tuples.
  • Implemented an unification rule for constant tuples.
  • Added some debugging helpers.
check-in: c39a302502 user: achavasse tags: trunk
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
  • Renamed the LowerType extension point to LowerTypeForRuntime as we'll need a similar "LowerTypeForVerification" later on.
  • The function type case of LowerTypeForRuntime is no longer hardcoded in the c++ utility function of the same name but implemented as an overload of the extension point.
check-in: 8818ea1872 user: achavasse tags: trunk
2020-05-17
17:30
  • Clean up the "default return value from top level file functions" stuff.
  • Standardize to a default return value of 0 for the top level file both in execution mode and in compilation mode.
  • Implemented a combined execution/compilation test for tuples in preparation for implementing tuple compilation. (not enabled yet)
check-in: 397f594186 user: achavasse tags: trunk
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:
  • When doing variable declaration local type inference, look for an initialization function that takes a mutable reference on the lhs, instead of a local variable.
  • As a result of the above, got rid of Initialize() overloads for local variables.
  • The assignment operator now takes a mutable reference on the lhs, instead of directly working on a local variable.
check-in: ebdba2e941 user: achavasse tags: trunk
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