Skip to content

Comments

Sync with upstream master#3

Merged
feds01 merged 26 commits intomasterfrom
sync-upstream-rebase
Oct 31, 2025
Merged

Sync with upstream master#3
feds01 merged 26 commits intomasterfrom
sync-upstream-rebase

Conversation

@feds01
Copy link
Collaborator

@feds01 feds01 commented Oct 31, 2025

Rebased with upstream/master to sync latest changes from TheDan64/inkwell

Qwox0 and others added 26 commits December 21, 2024 01:06
…T memory management (TheDan64#566)

* Add a function to the Module that creates an MCJIT capable of using a custom MemoryManager

* Fix test failures caused by differing allocate_data_section call counts across LLVM versions

* refactor: Use explicit bool to i32 cast in MCJIT options

* refactor: Use MaybeUninit::zeroed() for MCJIT options initialization

* refactor: Mark c_str_to_str as unsafe due to arbitrary lifetime risk

* fix: Prevent UB by reordering Box creation in memory manager destruction
* InstructionValue::get_instruction_with_name: remove superfluous return

* docs: fix build warnings

* Fix typos
Co-authored-by: Dan Kolsoi <ThaDan64@gmail.com>
* Apply rustfmt

* Fix typos

* workflows: run rustfmt check in test pipeline

* Fix typo.

---------

Co-authored-by: Dan Kolsoi <ThaDan64@gmail.com>
…eDan64#570)

* Implement feature for disabling opaque pointers on LLVM 15

* Fix missing refactoring in docs

* Update compile_error messages

* Extend ability to disable opaque pointers to LLVM 16

---------

Co-authored-by: Dan Kolsoi <ThaDan64@gmail.com>
* fix: proper string constant handling

Fixes: TheDan64#510

* fix: test for as_const_string includes unexpected nul termination

---------

Co-authored-by: Dan Kolsoi <ThaDan64@gmail.com>
LLVMIsConditional assume input is Branch and unwraps
* Remove support for LLVM4-7

* Updated workflow

* Fixed tests

* Fixed more tests

* Fixed more tests

* Cleanup workflow

* Attempt to build all on ubuntu 22.04

* Install missing dep

* Clippy and warning cleanup

* Fixed tests

* Add clippy to CI and appease clippy

* rm locked flag

* Fix more clippy errors

* Fix more clippy errors

* Fix more clippy errors

* Fix more clippy errors

* Fix more clippy errors

* Fix more clippy errors

* Fix more clippy errors

* Rename references to llvm 18-0 to 18-1

* Fixed tests
…tions (TheDan64#584)

Co-authored-by: Dan Kolsoi <ThaDan64@gmail.com>
Updates the requirements on [thiserror](https://github.com/dtolnay/thiserror) to permit the latest version.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](dtolnay/thiserror@1.0.48...2.0.11)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dan Kolsoi <ThaDan64@gmail.com>
…#590)

Signed-off-by: hsqStephenZhang <stephenzhang666666@gmail.com>
* feat: add `get_bit_width` method for float type

* test: add `test_float_type`

* fix: change bfloat to only llvm11+

---------

Co-authored-by: Dan Kolsoi <ThaDan64@gmail.com>
* Update Cargo.toml

* LLVM 19 preliminary build

* rename llvm19-0 to llvm-19-1

* add llvm 19.1 to test matrix

* update the bindings to use 19.1 instead of 19

* use sagudev instead of KyleMayes for LLVM 19.1 support

* fixup! use sagudev instead of KyleMayes for LLVM 19.1 support

* fix for metadata kind id

* add llvm 20 support

* fix for LLVMSetNUW

* fixup! fix for LLVMSetNUW

* add llvm 20.1 to ci

* fixup! fixup! fix for LLVMSetNUW

* fixup! fixup! fixup! fix for LLVMSetNUW

* fixup! fixup! fixup! fixup! fix for LLVMSetNUW

* add llvm20-1 back to feature detection

* fixup! add llvm20-1 back to feature detection

* add missing stuff for llvm 20

* fixup! add missing stuff for llvm 20

* try to get llvm from LLVM apt source instead

* fixup! try to get llvm from LLVM apt source instead

* add libpolly back

* disable test_get_decl_va_copy for LLVM 19 and up for now

* fix first metadata kind id for llvm 20

* fix test for llvm 20

* try out nextest

* make sure jit example can run

* improve Kaleidoscope example a little bit to add eval mode rather than repl

* feat: support LLVM 19 and 20 in debug info

* Clippy fixes

* Clippy fixes

---------

Co-authored-by: Dan Kolsoi <ThaDan64@gmail.com>
Co-authored-by: Steve Fan <steve.fan@n-hop.com>
* Add error.rs, create Error enum, and import Error into crate namespace.

* More specific error types.

* Fixes typo.

* Alignment of 0 is invalid.

* Missing #[from] attribute.

* Formatting.

* More formatting.

* Hopefully final formatting commit.

* Changes the alignment assertions to != 0, 0 is not a legal alignment.

* Changed assertion to check if alignment is 16, which is the last valid set value.

* Corrected BitwidthError message.
* Update basic_block.rs

* docs: Add documentation for BasicBlock::new method

---------

Co-authored-by: Dan Kolsoi <ThaDan64@gmail.com>
* test_default_triple fix

* All tests passing on Windows.

* Formatting.

* Formatting.

* Formatting.

* Forgot to configure windows dep for windows.

* I think it should work now.

* I don't know what I'm doing.

* Hopefully this satisfies clippy.

* I could have sworn that I just committed this.
* Support LLVMGetIndices

* Pass doc test
* Get AtomicRMWBinOp

* Linting
@feds01 feds01 merged commit 4a19089 into master Oct 31, 2025
28 checks passed
@feds01 feds01 deleted the sync-upstream-rebase branch October 31, 2025 23:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.