| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | llvm-18: enable sroa and static map calls | Laytan Laats | 2024-05-07 | 1 | -0/+12 |
| | | |||||
| * | llvm 18: general unix and darwin specifics | Laytan Laats | 2024-05-07 | 1 | -7/+391 |
| | | |||||
| * | compiler: improve target features support | Laytan Laats | 2024-05-02 | 1 | -59/+45 |
| | | |||||
| * | Enforce as global constant | gingerBill | 2024-04-18 | 1 | -1/+1 |
| | | |||||
| * | debug info fixes/refactor | Laytan Laats | 2024-04-01 | 1 | -6/+0 |
| | | | | | | | | | | | | | | | | | | | This fixes (on my end) #3340, #3117, #2945, #2922, and #2762 A general refactor of debug info generation in order to fix issues and increase stability. What I believe is the root cause of a bunch of issues is that we use the temporary metadata/forward declarations too much (/ hold onto them for too long). It seems to cause problems with the reference counting inside LLVM. This PR reduces the use of these forward declarations to a minimum, it creates it, fills in the fields, and resolves it, instead of waiting until the end of generating code. Some smaller issues I came across have also been solved. | ||||
| * | Replace `gb_exit(1)` with `exit_with_errors()` where appropriate | gingerBill | 2024-03-19 | 1 | -7/+7 |
| | | |||||
| * | Serialize errors to make them sortable, deterministic, and generally more ↵ | gingerBill | 2024-03-19 | 1 | -1/+1 |
| | | | | | control | ||||
| * | Merge branch 'odin-lang:master' into haiku | avanspector | 2024-02-29 | 1 | -54/+10 |
| |\ | |||||
| | * | Make `lb_type_info` use a procedure to load the global value | gingerBill | 2024-02-27 | 1 | -1/+1 |
| | | | |||||
| | * | Add type info generation for `bit_field` | gingerBill | 2024-02-27 | 1 | -0/+2 |
| | | | |||||
| | * | Remove `__$startup_type_info` procedure | gingerBill | 2024-02-27 | 1 | -40/+3 |
| | | | |||||
| | * | Change type info table to be initializable constantly | gingerBill | 2024-02-27 | 1 | -14/+5 |
| | | | | | | | | | []Type_Info -> []^Type_Info | ||||
| * | | Merge branch 'haiku' of https://github.com/avanspector/Odin into haiku | avanspector | 2024-02-25 | 1 | -1/+7 |
| |\| | |||||
| | * | Begin work adding `bit_field` | gingerBill | 2024-02-22 | 1 | -1/+7 |
| | | | |||||
| * | | Improve Haiku support | avanspector | 2024-02-25 | 1 | -2/+2 |
| |/ | |||||
| * | Fix `lb_hasher_proc_for_type` | gingerBill | 2024-02-07 | 1 | -1/+1 |
| | | |||||
| * | Mock out comments | gingerBill | 2024-02-02 | 1 | -0/+5 |
| | | |||||
| * | Add freestanding aarch64 target | codename-irvin | 2024-01-15 | 1 | -1/+1 |
| | | |||||
| * | Implement instrumentation pass | gingerBill | 2024-01-07 | 1 | -2/+0 |
| | | |||||
| * | src: `enable_target_feature` should add features, not overwrite | Yawning Angel | 2024-01-07 | 1 | -1/+40 |
| | | | | | | | | | | | | | | | | | `llvm_features` being empty is the default state, and implies the presence of certain features. Previously if any target features were explicitly enabled by the `enable_target_feature` attribute, they were added comma separated to `llvm_features`. For example: `lzcnt,popcnt,...,sse4.2,sse` This was causing LLVM to try to target a CPU that *ONLY* has the explicitly enabled features. This now will prefix explicitly enabled features with a `+`, and preserve the existing `llvm_features` string by appending to it if it is set. | ||||
| * | Reduce repetition on initializing global type info member arrays | gingerBill | 2023-12-13 | 1 | -52/+10 |
| | | |||||
| * | Silence writable string warnings when compiling Odin on Linux. | Jeroen van Rijn | 2023-12-03 | 1 | -9/+9 |
| | | |||||
| * | Facored out `get_default_microarchitecture` | Jeroen van Rijn | 2023-11-10 | 1 | -15/+20 |
| | | | | | Moved `generic` -> `x86-64-v2` selection into its own procedure so that `llvm_backend.cpp` and `main.cpp` can share the same logic. | ||||
| * | Add -microarch:? | Jeroen van Rijn | 2023-11-10 | 1 | -0/+7 |
| | | |||||
| * | Fix empty pass because of trailing comma | Laytan | 2023-10-31 | 1 | -1/+1 |
| | | |||||
| * | Explicitly write out the passes for each level and remove certain passes | gingerBill | 2023-10-30 | 1 | -9/+256 |
| | | |||||
| * | TEST: Add sroa passes back | gingerBill | 2023-10-29 | 1 | -1/+4 |
| | | |||||
| * | Remove trailing comma | gingerBill | 2023-10-29 | 1 | -1/+1 |
| | | |||||
| * | Use default passes without coro, openmp, and sroa passes | gingerBill | 2023-10-29 | 1 | -12/+31 |
| | | |||||
| * | Test: use custom passes for -o:speed | gingerBill | 2023-10-29 | 1 | -1/+122 |
| | | |||||
| * | Only make static map get calls inlineable outside of debug builds | gingerBill | 2023-10-27 | 1 | -2/+2 |
| | | |||||
| * | Fix static map calls and default to them! | gingerBill | 2023-10-27 | 1 | -6/+26 |
| | | |||||
| * | Disable using giant packed struct for type info table for the time being | gingerBill | 2023-10-27 | 1 | -1/+3 |
| | | |||||
| * | Support LLVM >=17.0.1 on Darwin and Linux | jcmdln | 2023-10-11 | 1 | -3/+23 |
| | | |||||
| * | Generate the global type info member values even if the count is `0` | gingerBill | 2023-09-27 | 1 | -52/+50 |
| | | |||||
| * | Use a giant packed struct working for type info table | gingerBill | 2023-09-22 | 1 | -2/+23 |
| | | |||||
| * | Begin work on making the type info table be constantly initialized | gingerBill | 2023-09-22 | 1 | -3/+9 |
| | | |||||
| * | Minor clean up | gingerBill | 2023-09-22 | 1 | -24/+10 |
| | | |||||
| * | Remove debug text | gingerBill | 2023-09-21 | 1 | -2/+0 |
| | | |||||
| * | Fix build times for `-o:<string>` in LLVM-17 | gingerBill | 2023-09-21 | 1 | -15/+15 |
| | | |||||
| * | Allow for zero passes | gingerBill | 2023-09-21 | 1 | -0/+5 |
| | | |||||
| * | Add asan lib for Windows | gingerBill | 2023-09-21 | 1 | -0/+15 |
| | | |||||
| * | Re-configure the new pass system | gingerBill | 2023-09-21 | 1 | -18/+27 |
| | | |||||
| * | Add `-o:aggressive` for LLVM 17 | gingerBill | 2023-09-21 | 1 | -10/+19 |
| | | |||||
| * | Support `-sanitize:<string>` for `address`, `memory`, `thread` for LLVM 17 | gingerBill | 2023-09-21 | 1 | -1/+17 |
| | | |||||
| * | Begin work with adding the new pass system | gingerBill | 2023-09-20 | 1 | -0/+54 |
| | | |||||
| * | Update to LLVM-17 | gingerBill | 2023-09-19 | 1 | -3/+3 |
| | | |||||
| * | Fix comparison of two `nil` unions against each other | gingerBill | 2023-08-16 | 1 | -2/+17 |
| | | |||||
| * | fix indentation | Laytan Laats | 2023-07-11 | 1 | -5/+6 |
| | | |||||
| * | use lb_emit_select instead of lb_emit_if for exit check | Laytan Laats | 2023-07-11 | 1 | -22/+4 |
| | | |||||