Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
50 check-ins occurring around 2019-07-15 21:58:00.
|
2019-07-26
| ||
| 22:30 |
| |
| 18:33 | llr, codegen: implemented "load constant" instructions for integers and strings. check-in: 443351dafe user: achavasse tags: trunk | |
| 16:57 | codegen: generate basic blocks. check-in: 8574428775 user: achavasse tags: trunk | |
| 13:41 |
llr:
| |
| 09:28 | Added license file. check-in: 7ae7a08ed3 user: achavasse tags: trunk | |
| 02:14 | codegen: generate correct function types. check-in: 5c095a9872 user: achavasse tags: trunk | |
| 01:50 | Fix the Env never being deleted due to captured shared_ptr in some builtin functions which created reference cycles. check-in: 1eb3c4a890 user: achavasse tags: trunk | |
|
2019-07-25
| ||
| 22:30 | Enable ThinLTO. check-in: cd65a705fd user: achavasse tags: trunk | |
| 22:17 | codegen: handle function types in LowerType(). check-in: 8816e0b6e9 user: achavasse tags: trunk | |
| 15:50 | builtins: extend GetLLVMType() to handle function types. check-in: eb91eeb361 user: achavasse tags: trunk | |
| 15:37 | builtins: llvm types are now built and stored at a standard location in the ir expressions of runtime types. check-in: 3f9a7b5082 user: achavasse tags: trunk | |
| 14:09 | Have the llvm context be a static instance instead of being owned by the Env object, so that we can access it anywhere. check-in: c5a38bbeae user: achavasse tags: trunk | |
|
2019-07-24
| ||
| 20:15 | func type: change the term encoding to include a void pointer that will be used to link to the function's llvm type, if any. check-in: 403761ee88 user: achavasse tags: trunk | |
| 11:41 | codegen: revised mangling, allow opaque pointers to be mangled since they are going to appear in native type identities, even though we don't care about what they point to for that purpose. check-in: 86893043c5 user: achavasse tags: trunk | |
| 11:03 |
ir:
| |
|
2019-07-23
| ||
| 19:44 | codegen: implemented LowerType. check-in: e42ae3d514 user: achavasse tags: trunk | |
| 19:02 | Moved overloadset's implementation into sema, as we'll need to keep pointers to some of them (used as extension points) in env. check-in: f8f1fcd169 user: achavasse tags: trunk | |
| 13:44 | execute: added an execution limit on calls and branch instructions to be able to time out of non-terminating compile time code. check-in: f0b3b44bbb user: achavasse tags: trunk | |
|
2019-07-22
| ||
| 15:36 | builtins: added a function to test whether a type is a runtime type. check-in: 138905cf4e user: achavasse tags: trunk | |
| 14:50 | builtins: runtime types: added a common prefix to easily be able to check if a type is a runtime type. check-in: 64244c6d0c user: achavasse tags: trunk | |
| 13:15 | Added a helper to perform a compile time OverloadSet invocation. check-in: c768853a4f user: achavasse tags: trunk | |
| 12:50 | builtins: added a helper to create and register an empty OverloadSet, to serve as extension points for the library. check-in: f10b5377f7 user: achavasse tags: trunk | |
|
2019-07-21
| ||
| 23:48 | Bumped llvm version. check-in: 8648053c0d user: achavasse tags: trunk | |
|
2019-07-16
| ||
| 20:06 |
builtins:
| |
|
2019-07-15
| ||
| 21:58 | builtins: added definitions for runtime array type. check-in: eade11527c user: achavasse tags: trunk | |
| 21:43 | builtins: added definitions for runtime pointer type. check-in: 84b541f45b user: achavasse tags: trunk | |
| 21:13 | sema: removed a couple of superfluous rule lookups when resolving an invocation. check-in: c7da710bb0 user: achavasse tags: trunk | |
| 20:21 | builtins: added definitions for basic runtime types. check-in: 54b8960363 user: achavasse tags: trunk | |
| 19:10 | builtins: renamed int and string to ct_int and ct_string to distinguish them from the future runtime and user facing types. In the end there should be little to no reason to ever use these types directly outside of the library anyway. check-in: f40cfaed57 user: achavasse tags: trunk | |
|
2019-07-14
| ||
| 19:29 |
codegen:
| |
|
2019-07-13
| ||
| 23:30 |
| |
| 19:33 | codegen: very first draft of function generation. check-in: 98a6fcaf3f user: achavasse tags: trunk | |
|
2019-07-12
| ||
| 20:58 | codegen: implemented mangling. check-in: f97c0b2cab user: achavasse tags: trunk | |
|
2019-07-11
| ||
| 19:32 | Allow overloading of builtin functions. check-in: bff15eb03d user: achavasse tags: trunk | |
|
2019-07-09
| ||
| 22:46 | codegen: added builtin functions to create a module and to dump it as llvm assembly text. check-in: 429f55ae3c user: achavasse tags: trunk | |
| 21:14 | Began the implementation of the code generator. check-in: c3a5885c4f user: achavasse tags: trunk | |
|
2019-07-08
| ||
| 19:40 | Implemented parsing rules for function domain specifiers, and fixed a couple of related bugs. check-in: b39d1cbe9a user: achavasse tags: trunk | |
|
2019-07-07
| ||
| 16:22 | Parser: parse function type modifiers. check-in: 105ba83ebf user: achavasse tags: trunk | |
| 10:33 | Parser: refactored function and template function parsing to go through a common code path to build function types. check-in: 5fd301c5f9 user: achavasse tags: trunk | |
|
2019-07-06
| ||
| 13:27 | Cleanup: remove a superfluous argument from BuildFunc(). check-in: f0724b61e5 user: achavasse tags: trunk | |
|
2019-06-29
| ||
| 14:36 | Handle execution domains when invoking/unifying functions, template functions, overload sets and constrained funcs. check-in: 2acce94d2d user: achavasse tags: trunk | |
| 13:43 | Build fixes to work with the latest git version of libc++. check-in: 326d403e6c user: achavasse tags: trunk | |
| 11:40 | Added a domain specifier in function and template function types. check-in: ef1e94f44d user: achavasse tags: trunk | |
|
2019-06-27
| ||
| 19:37 | sema: fixed a context creation mistake when resolving an invocation. check-in: 48ee263157 user: achavasse tags: trunk | |
| 19:30 | sema: when resolving an invocation, attempt first to resolve it as a compile time invocation when applicable. check-in: c046a7f803 user: achavasse tags: trunk | |
|
2019-06-23
| ||
| 14:01 | Functions are now recompiled for different execution domains as needed. check-in: 25e7ce2c8c user: achavasse tags: trunk | |
|
2019-06-22
| ||
| 15:00 | Func: functions can be stored in an invalid state which means they couldn't be compiled for a given domain, but still contain enough information to compile/retrieve that function for a different domain. check-in: 87068d0fe8 user: achavasse tags: trunk | |
|
2019-06-21
| ||
| 18:22 | Domains: setup correct identity domains in a few places. check-in: aaa9d75b0c user: achavasse tags: trunk | |
|
2019-06-19
| ||
| 19:49 |
| |
|
2019-06-18
| ||
| 21:44 | Added some helper functions for domains and identities. check-in: a15bdabfec user: achavasse tags: trunk | |