about summary refs log tree commit diff
path: root/users/glittershark/achilles/src/codegen
AgeCommit message (Collapse)AuthorFilesLines
2021-03-28 r/2356 feat(achilles): Implement a Unit typeGriffin Smith1-78/+109
Add support for a zero-sized Unit type. This requires some special at the codegen level because LLVM (unsurprisingly) only allows Void types in function return position - to make that a little easier to handle there's a new pass that strips any unit-only expressions and pulls unit-only function arguments up to new `let` bindings, so we never have to actually pass around unit values. Change-Id: I0fc18a516821f2d69172c42a6a5d246b23471e38 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2695 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2021-03-20 r/2293 feat(gs/achilles): Implement extern decls, for glibc functionsGriffin Smith1-2/+38
Implement extern decls, which codegen to LLVM as forward-declared functions, and use these as a hook into calling glibc functions. We can print to the terminal now! The integration tests can test this now. Change-Id: I70af4546b417b888ad9fbb18798db240f77f4e71 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2614 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2021-03-20 r/2292 feat(gs/achilles): Codegen string literalsGriffin Smith1-1/+5
Codegen string literals to LLVM as (for now) global C string pointers Change-Id: I6dcd7fa25a7806a2f708a8e9275c9a01174fd0cf Reviewed-on: https://cl.tvl.fyi/c/depot/+/2613 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2021-03-15 r/2279 merge(glittershark/achilles): Subtree import at 'b93268085a'Vincent Ambo2-0/+390
Imported from https://github.com/glittershark/achilles/ git-subtree-dir: users/glittershark/achilles git-subtree-mainline: 4d193f239525954631ba9d789ca3aea9a2f4e14d git-subtree-split: b93268085aab14c80a400c299da5d04d2781098e Change-Id: I64a583b454bbe03e20358ad7808939a4cbc212ba