aboutsummaryrefslogtreecommitdiff
path: root/src/codegen.c
Commit message (Expand)AuthorAgeFilesLines
* Fallback to stderr if module printing fails with ENXIOThomas Voss 2024-07-081-6/+9
* Print to stdout when -l is providedThomas Voss 2024-07-081-3/+5
* Actually make unary plus an AST nodeThomas Voss 2024-07-081-0/+2
* Use hex for more compact representationThomas Voss 2024-07-081-3/+3
* Hardcode i1 for boolsThomas Voss 2024-07-081-2/+2
* Use LLVMBuildBinOp instead of function pointersThomas Voss 2024-07-081-15/+14
* Support function callsThomas Voss 2024-07-081-6/+30
* Implement booleansThomas Voss 2024-07-061-15/+38
* Completely rework how types are handledThomas Voss 2024-07-021-22/+21
* Use the proper instructions for floatsThomas Voss 2024-07-011-12/+13
* Evaluate identifiers in other scopesThomas Voss 2024-07-011-2/+2
* Support assignments to mutable variablesThomas Voss 2024-07-011-0/+22
* Add (x & y) and (x | y)Thomas Voss 2024-06-291-0/+4
* Implement bit shifting operationsThomas Voss 2024-06-291-45/+24
* Implement ~x and x ~ yThomas Voss 2024-06-281-6/+15
* Try to properly support remainderThomas Voss 2024-06-281-6/+5
* Remove TODOThomas Voss 2024-06-281-1/+0
* Do some more work to support modulus and parenthesisThomas Voss 2024-06-281-17/+35
* Prelimiary work on binary expressionsThomas Voss 2024-06-281-0/+20
* Fix some bugs related to unsigned integersThomas Voss 2024-06-271-6/+9
* Support unary plus and minusThomas Voss 2024-06-261-7/+17
* Support generation of asm/obj filesThomas Voss 2024-06-251-3/+23
* Fix build on DarwinThomas Voss 2024-06-251-2/+4
* Fix release buildThomas Voss 2024-06-241-0/+1
* Init target for AArch64Thomas Voss 2024-06-241-0/+1
* Assert that type2llvm is never called with size 0Thomas Voss 2024-06-241-12/+14
* Try to handle floating point numbers betterThomas Voss 2024-06-241-4/+27
* Assert that neither int nor floats exceed 128 bitsThomas Voss 2024-06-241-1/+1
* Add basic support for floating point numbersThomas Voss 2024-06-241-17/+25
* Set the target data layoutThomas Voss 2024-06-241-6/+32
* Assert that integer types don’t exceed 128 bitsThomas Voss 2024-06-241-1/+1
* Support nested functionsThomas Voss 2024-06-241-13/+37
* Make int and uint word sizedThomas Voss 2024-06-241-8/+11
* Support ‘…’ and ‘...’ in initializersThomas Voss 2024-06-241-0/+4
* Properly handle decl without assignmentThomas Voss 2024-06-241-2/+10
* Begin work on supporting mutable variablesThomas Voss 2024-06-241-14/+50
* Shove everything into ctxThomas Voss 2024-06-231-72/+74
* Switch from arena_t to arena_t *Thomas Voss 2024-06-231-3/+3
* FormattingThomas Voss 2024-06-231-2/+2
* Implement a temporary allocatorThomas Voss 2024-06-231-11/+7
* Various codegen workThomas Voss 2024-06-221-65/+81
* More codegen workThomas Voss 2024-06-221-59/+107
* Rename lots of things to make my life easierThomas Voss 2024-06-221-25/+25
* Store decl info in auxilliary dataThomas Voss 2024-06-221-14/+45
* Do some work on basic basic codegenThomas Voss 2024-06-221-27/+83
* Basic constant folding implementationThomas Voss 2024-06-211-20/+61
* Avoid memory leakThomas Voss 2024-06-211-0/+1
* Set target triple in LLVMThomas Voss 2024-06-211-0/+5
* Cleanup codegen.cThomas Voss 2024-06-211-188/+20
* Huge changes to static analysisThomas Voss 2024-06-211-109/+160