aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_opt.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Begin work on making the type info table be constantly initializedgingerBill2023-09-221-1/+1
|
* Update ABI breaking changes for `f16` types (due to LLVM 15+)gingerBill2023-09-211-10/+0
|
* Add `-o:aggressive` for LLVM 17gingerBill2023-09-211-2/+1
|
* Check for LLVM versionsgingerBill2023-09-191-8/+20
|
* Update to LLVM-17gingerBill2023-09-191-1/+8
|
* Correct `lb_run_function_pass_manager` behaviourgingerBill2023-08-101-1/+13
|
* Always call `lb_run_remove_dead_instruction_pass` to fix `-debug` issuesgingerBill2023-07-071-10/+0
|
* Fix type `switch` debug information on `-o:none`gingerBill2023-05-301-1/+11
|
* Fix value elision on declarationgingerBill2023-03-091-1/+5
|
* Add `-o:none` optimization mode (useful for `-debug` builds)gingerBill2023-03-071-12/+20
|
* Unify function pass managers for auxiliary procedures (e.g. startup type ↵gingerBill2023-01-051-0/+3
| | | | info, runtime, objc names)
* Remove dead code in the compilergingerBill2022-12-181-10/+10
|
* `gb_internal` LLVM backendgingerBill2022-12-181-16/+16
|
* Disallow Early CSE on `-debug` buildsgingerBill2022-08-091-1/+3
|
* fix require flag on higher optimization modesAstavie2022-06-151-0/+38
|
* Change how parameter and variables are given debug valuesgingerBill2022-02-161-1/+1
|
* Add `LLVMAddMergedLoadStoreMotionPass` on `-debug -opt:0`gingerBill2022-01-151-10/+6
|
* Improve debug symbol retention with `-debug -opt:0`gingerBill2021-12-111-15/+11
|
* Improve support for `freestanding_wasm32`gingerBill2021-11-071-4/+64
|
* Remove `LLVMAddDeadStoreEliminationPass` passgingerBill2021-11-061-3/+3
|
* Remove many LLVM optimization passes which were causes UB due to them ↵gingerBill2021-11-061-27/+53
| | | | assuming C-like behaviour incompatible with Odin
* Completely ignore `LLVM_ADD_CONSTANT_VALUE_PASS` LLVM >= 12gingerBill2021-11-061-12/+3
|
* Make llvm backend code use `PtrMap`; remove dead codegingerBill2021-11-051-1/+1
|
* `@(linkage=<string>)` for procedures and variables; `@(require)` for ↵gingerBill2021-11-041-21/+11
| | | | procedures; `package runtime` linkage improvements; Subsequence improvements to `lb_run_remove_unused_function_pass`
* Add procs for wasm32gingerBill2021-10-311-0/+6
|
* Add `memmove` and `memset` support for `wasm`gingerBill2021-10-311-0/+5
|
* Compile `wasm64`; Add `lb_run_remove_unused_function_pass`gingerBill2021-10-311-0/+49
|
* Fix typogingerBill2021-09-111-10/+10
|
* Prepare for LLVM 12.0.1 compatibilitygingerBill2021-09-111-8/+14
|
* Add missing instruction to passgingerBill2021-05-151-0/+6
|
* Add missing instructions to passgingerBill2021-05-151-0/+2
|
* Add custom basic dead instruction elimination passgingerBill2021-05-151-0/+93
|
* Remove `LLVMAddLowerConstantIntrinsicsPass`gingerBill2021-05-111-1/+1
|
* Remove test call for LLVMgingerBill2021-05-111-1/+1
|
* Minor change (in preparation for something else) to opt passesgingerBill2021-05-111-5/+27
|
* Change function pass manager passesgingerBill2021-04-221-1/+40
|
* Change how `lb_populate_function_pass_manager` works by using the default ↵gingerBill2021-04-221-11/+31
| | | | LLVM passes when not using minimal optimizations
* Add `@(cold)` attribute to procedure declarationsgingerBill2021-04-141-6/+5
|
* Experiment with different opt passesgingerBill2021-04-011-1/+2
|
* Add extra optimization level pass -opt:2 in `lb_populate_module_pass_manager`gingerBill2021-04-011-9/+8
|
* Fix shifting limits and LLVM code gen bug relating to shiftsgingerBill2021-03-291-1/+2
|
* Remove dead code and commentsgingerBill2021-03-291-5/+1
|
* Remove LLVMPassManagerBuilder usage in lb_populate_module_pass_manager; ↵gingerBill2021-03-291-56/+32
| | | | simplify lb_populate_function_pass_manager
* Add `LLVM_USE_NO_EXTRA_PASSES` build flaggingerBill2021-03-291-1/+9
|
* Change how `lb_populate_module_pass_manager` handles the ↵gingerBill2021-03-291-11/+19
| | | | LLVMPassManagerBuilder calls
* Clamp maximum optimization level to 2 for `-llvm-api`gingerBill2021-03-291-13/+21
|
* Add optional `LLVM_USE_BASIC_PASSES` build flag. If evaluates to a truthy ↵gingerBill2021-03-291-2/+6
| | | | value, it will be do only basic passes for -llvm-api
* Remove `LLVMAddScalarReplAggregatesPass` from passesgingerBill2021-03-291-2/+2
|
* Move LLVM optimization procedures to a separate file to aid with organizationgingerBill2021-03-231-0/+169