aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Begin optimizing tokenizer; Replace `gb_utf8_decode` with `utf8_decode` (CC ↵gingerBill2021-08-011-2/+2
| | | | but easier to change later)
* Big simplification and improvement of the entity collection system, reducing ↵gingerBill2021-07-271-105/+148
| | | | unneeded steps for packages
* Manually short circuit in `lb_build_if_stmt` for constant conditionsgingerBill2021-07-261-10/+52
|
* Move asserts aroundgingerBill2021-07-131-3/+5
|
* Correct `lb_big_int_to_llvm`gingerBill2021-07-131-9/+10
|
* Add extra message to assertgingerBill2021-07-131-3/+1
|
* Do manual byte swapping for endianness in `lb_big_int_to_llvm`gingerBill2021-07-131-5/+12
|
* Temporarily disable `-threaded-checker`; Restructure the untyped-expr-info ↵gingerBill2021-07-131-0/+1
| | | | system to be much more thread-friendly
* Add sanity casts for 32/64 bit correctnessgingerBill2021-07-121-25/+25
|
* Clean up big int to LLVM integer codegingerBill2021-07-111-63/+34
|
* Change the compiler's big integer library to use libTomMathgingerBill2021-07-111-20/+54
| | | | This now replaces Bill's crappy big int implementation
* Add sanity conversion check for integer to quaterniongingerBill2021-07-111-0/+19
|
* Convert constant tag to the correct type for LLVMAddCasegingerBill2021-07-101-0/+1
|
* Prepare for multithreading the semantic checker by giving mutexes to ↵gingerBill2021-07-101-1/+1
| | | | | | variables of contention NOTE(bill): I know this is dodgy, but I want to make sure it is correct logic before improve those data structures
* Fix #1050gingerBill2021-07-101-1/+1
|
* Allow `x in ptr_to_map_or_bit_set`gingerBill2021-07-101-0/+5
|
* Remove `try`; Replace `try x else y` with `or_else(x, y)`gingerBill2021-07-051-52/+47
|
* Try `try` and `or_else` built-in procedures with operators `try` and `try else`gingerBill2021-07-041-100/+55
|
* Refactor `return` logic to be more reusable with `lb_emit_try`gingerBill2021-07-041-44/+24
|
* Simplify `lb_emit_try` return logicgingerBill2021-07-041-88/+18
|
* Fix `lb_emit_try`gingerBill2021-07-041-9/+13
|
* [Experimental] Add 'try' and `or_else' built-in proceduresgingerBill2021-07-041-6/+270
|
* Fix #1042gingerBill2021-06-281-19/+21
|
* Fix #1043gingerBill2021-06-281-0/+3
|
* Fix swizzling of pointers to arraysgingerBill2021-06-281-2/+7
|
* Modify scope finding rules for distinct types in lb_debug_typegingerBill2021-06-271-3/+23
|
* Fix #1044gingerBill2021-06-261-4/+17
|
* Support compound literals for `struct #raw_union` typesgingerBill2021-06-261-2/+12
|
* Fix compiler errorsgingerBill2021-06-251-3/+3
|
* Change logic for comparison against `nil` for array-like data types (compare ↵gingerBill2021-06-241-12/+27
| | | | the pointer rather than the length/capacity)
* Correct selector call expression chaining behaviour (a bit of a hack)gingerBill2021-06-161-9/+28
|
* Fix #1017gingerBill2021-06-151-4/+7
|
* Fix #1019gingerBill2021-06-151-2/+0
|
* Fix #1015gingerBill2021-06-141-11/+15
|
* Just create `context` when requiredgingerBill2021-06-141-16/+1
|
* Fix `context` logicgingerBill2021-06-131-3/+3
|
* Remove dead codegingerBill2021-06-121-22/+0
|
* Correct `context `logic in `lb_build_addr`gingerBill2021-06-121-1/+1
|
* Improve vector arithmetic generation for array programming operationsgingerBill2021-06-121-72/+215
|
* Fix linkage problem for procedures required by LLVMgingerBill2021-06-101-9/+18
|
* Minor code clean upgingerBill2021-06-091-11/+4
|
* Improve code generation for type switch statements to use a jump table by ↵gingerBill2021-06-091-26/+35
| | | | default
* Allow trivial optimizations for switch statements of `typeid`gingerBill2021-06-091-9/+21
|
* Do trivial SwitchInstr optimization for constant case switch statementsgingerBill2021-06-091-6/+93
|
* Correct minimum dependency for `complex32`gingerBill2021-06-081-10/+22
|
* Improve code generation hints for return statements which return by pointergingerBill2021-06-081-7/+35
|
* Minor alignment cleanup for swizzle loadgingerBill2021-06-081-1/+10
|
* Fix and improve swizzle loads for ordered indicesgingerBill2021-06-081-1/+17
|
* Minor improvements to `-use-separate-modules`gingerBill2021-06-081-6/+25
|
* Replace `js_wasm32` with `freestanding_wasm32`gingerBill2021-06-081-17/+19
|