73 Commits

Author SHA1 Message Date
Duncan Ogilvie d349e58811 Fix potential JIT use-after-free 2026-05-14 01:12:10 +02:00
Duncan Ogilvie 3e0ac3e6bd Merge pull request #9 from LLVMParty/api-ux
Add JIT/optimize/intrinsic/object support
2026-05-14 01:11:26 +02:00
Duncan Ogilvie df80c5c8d1 Improve lifetime checks 2026-05-13 22:47:22 +02:00
Duncan Ogilvie 5e5a6f4124 Address review comments 2026-05-13 20:28:28 +02:00
Duncan Ogilvie 44840dc279 Minor API changes
Closes #11
Closes #12
Closes #13
2026-05-13 20:18:43 +02:00
Duncan Ogilvie ad55024932 Attribute add_memory 2026-05-13 18:50:39 +02:00
Duncan Ogilvie 48d7999bf1 Add function.optimize 2026-05-13 18:16:55 +02:00
Duncan Ogilvie aa474d9a5f Keep relocation iterator alive 2026-05-13 17:52:08 +02:00
Duncan Ogilvie 1034b9750f Remove explicit target initialization from API surface and do on startup 2026-05-13 17:51:53 +02:00
Duncan Ogilvie 723641ee50 Add high-level API for (named) metadata 2026-05-13 16:58:02 +02:00
Duncan Ogilvie 2a0424be2e Attempt to fix macos x86_64 tests 2026-05-13 16:37:20 +02:00
Duncan Ogilvie 2c832090ee Add JIT/optimize/intrinsic/object support 2026-05-13 01:58:02 +02:00
Duncan Ogilvie 46643f2523 Refactor attribute API 2026-05-12 23:20:21 +02:00
Duncan Ogilvie 57074d321c Consistently use Python properties where appropriate 2026-05-12 17:55:29 +02:00
Duncan Ogilvie 231c74cdd2 Rename get_or_insert to reuse_existing
Closes #5
2026-05-12 16:15:28 +02:00
Duncan Ogilvie c539e55dd8 cleanup: guard module builder lifetime 2026-05-12 14:39:33 +02:00
Duncan Ogilvie 6dd2bdb9f0 cleanup: address API cleanup review comments 2026-05-12 13:52:40 +02:00
Duncan Ogilvie 259560f27e cleanup: remove direct LLVM C++ API usage 2026-05-12 12:08:23 +02:00
Duncan Ogilvie acb6632e59 cleanup: add get_or_insert semantics for named structs 2026-05-12 11:44:14 +02:00
Duncan Ogilvie af1208647c cleanup: cover removed debug metadata aliases 2026-05-12 04:38:38 +02:00
Duncan Ogilvie bbe9b5b76a cleanup: remove stale TODO wording 2026-05-12 04:36:21 +02:00
Duncan Ogilvie 4d048ad47b cleanup: prevent detached value teardown crashes 2026-05-12 04:32:10 +02:00
Duncan Ogilvie 75224bb56b cleanup: cover raw alias and ifunc insertion 2026-05-12 04:27:12 +02:00
Duncan Ogilvie e28069d75a cleanup: broaden API surface regression coverage 2026-05-12 04:24:42 +02:00
Duncan Ogilvie 4871621fff cleanup: remove legacy module-level API aliases 2026-05-12 04:14:05 +02:00
Duncan Ogilvie 2caf139ac9 cleanup: finish context and vector constant factories 2026-05-12 04:08:17 +02:00
Duncan Ogilvie 8b343f7c63 cleanup: move API helpers onto owning objects 2026-05-12 04:05:14 +02:00
Duncan Ogilvie a7bdd91770 Improve Type.const_xxx API 2026-05-12 03:27:20 +02:00
Duncan Ogilvie cfe7e4ee6b Fix bug in transform example 2026-05-12 01:49:51 +02:00
Duncan Ogilvie d77d7f6785 Speed up CI on Windows 2026-05-12 01:49:51 +02:00
Duncan Ogilvie 1aa11847c7 Refresh public examples 2026-05-12 01:49:51 +02:00
Duncan Ogilvie 8f30baf8c9 Use ASCII output in feature matrix test 2026-05-12 01:49:51 +02:00
Duncan Ogilvie 44caf36e96 Fix CI wheel build follow-ups 2026-05-12 01:49:51 +02:00
Duncan Ogilvie 26763333c2 Remove llvm_c_test from package 2026-05-11 16:45:05 +02:00
Duncan Ogilvie 4acc6cd920 Use Iterable<T> and Buffer everywhere in the bindings 2026-05-09 13:09:42 +02:00
Duncan Ogilvie 97c8946d08 Improve types.struct(...) API 2026-05-09 12:44:12 +02:00
Duncan Ogilvie e024cc89b1 Fix CI type checks and macOS semantic parity 2026-04-10 20:03:37 +02:00
Duncan Ogilvie 9cd0ab7f3e Port omill obfuscation passes 2026-04-10 14:29:59 +02:00
expend20 5600f16eed CI attempt 2026-02-20 19:48:39 -05:00
expend20 888de930f8 Get/Set for calling convetion 2026-02-20 16:47:46 -05:00
Duncan Ogilvie b705ee5f76 Add asserts to get_first_dbg_record 2026-02-20 00:07:56 +01:00
Duncan Ogilvie 31235208a3 Improve LLVM-C test coverage 2026-02-19 22:02:59 +01:00
Duncan Ogilvie affa8258d6 Improve API design 2026-02-16 12:50:51 +01:00
Duncan Ogilvie f7079dd0df We love assertions 2026-02-16 02:56:43 +01:00
Duncan Ogilvie f315105314 Assertions go brr 2026-02-16 02:44:50 +01:00
Duncan Ogilvie a4858fb5a2 We do a bit of asserting 2026-02-16 02:24:36 +01:00
Duncan Ogilvie b1701a76d2 Progress transformation-api 2026-02-16 01:09:28 +01:00
Duncan Ogilvie 0b79667458 Add split_basic_block_before functionality 2026-02-15 22:21:32 +01:00
Duncan Ogilvie 199aca83b0 Fix the tests 2026-02-15 22:21:01 +01:00
expend20 654bb90daa Add transformation API primitives and improve type ergonomics
Make ctx.types.ptr a property (address space 0) instead of a method call,
  with addrspace_ptr(n) for non-default address spaces. Add split_basic_block,
  instruction_clone, and set_called_operand to support IR transformation
  workflows. Improve get_operand bounds checking to report index and count
  instead of segfaulting. Add LibXml2 workaround for LLVM 21 on Windows.

  New regression tests for operand bounds and split_basic_block. Update all
  existing tests, examples, and docs to use the new ptr property syntax.
  Fix test_type_crash.py to use function_type instead of type (pointer)
2026-02-15 18:55:25 +01:00