LLVM.jl

Julia wrapper for the LLVM C API

OTHER License

Stars
129
Committers
27

Bot releases are visible (Hide)

LLVM.jl - v6.0.0

Published by github-actions[bot] over 1 year ago

LLVM v6.0.0

This is a breaking release, which the major change being a switch from explicit ctx arguments to various API calls, to a global task-bound context that's implicitly set by the Context constructor and removed by the dispose(::Context) function. Practically, this means that you can get rid of all context arguments, and things should generally still work. For more complex uses, see the changes in #358.

Other breaking changes include the rename of called_value to called_operand for consistency with upstream LLVM, and the removal of deprecations from the previous breaking release.

Diff since v5.2.0

Closed issues:

  • LLVMInitializeAllTargets in LLVMExtra pulls in target dependent symbols (#280)
  • IDEA: Make LLVM contexts task-bound (#352)
  • Rename called_value to called_operand (#355)

Merged pull requests:

  • Add some simple CFG queries (#350) (@maleadt)
  • Rework LLVM object display. (#351) (@maleadt)
  • Add Colossus to list of backends to initialise (#354) (@giordano)
  • Break things (#356) (@maleadt)
  • Fix ORCv2 test. (#357) (@maleadt)
  • Replace context arguments with global state. (#358) (@maleadt)
LLVM.jl - v5.2.0

Published by github-actions[bot] over 1 year ago

LLVM v5.2.0

This is a feature release, with the main addition being the ability to clone basic blocks (#349).

Diff since v5.1.0

Closed issues:

  • Test with opaque pointers (#345)

Merged pull requests:

  • CI improvements (#347) (@maleadt)
  • Throw a bounds error when accessing a declaration's basic blocks. (#348) (@maleadt)
  • Add support for cloning basic blocks. (#349) (@maleadt)
LLVM.jl - v5.1.0

Published by github-actions[bot] over 1 year ago

LLVM v5.1.0

Diff since v5.0.0

Merged pull requests:

  • Add called_type (#341) (@wsmoses)
  • Preserve integer index type for pointerref/pointerset. (#342) (@maleadt)
  • Fixes for LLVM 15. (#343) (@maleadt)
LLVM.jl - v5.0.0

Published by github-actions[bot] over 1 year ago

LLVM v5.0.0

This is a breaking release, with as major breaking change the introduction of additional type arguments to many IRBuilder methods that involve pointers. This is to prepare for opaque pointers, and when using a sufficiently recent version of LLVM/Julia, LLVM.jl fully supports running with opaque pointers enabled. Practically, you need to update many call sites (like call! or gep!) to now include the element type of pointers, where this would previously had been deduced from the pointer value. Deprecations are put in place, which will be removed in the next breaking release.

As part of this breaking change, we also changed llvmtype to value_type, in addition to newly introduced function_type and return_type queries.

Diff since v4.17.1

Closed issues:

  • Use @cfunction for LLVM pass support (#117)
  • [Julia 1.8] Opaque pointers are here (#279)
  • Macro purity @asmcall (#325)
  • write does return incorrect amount of bytes written (#328)
  • Opaque pointer-related test failures (#336)

Merged pull requests:

  • Support for LLVM 15 and opaque pointers (#326) (@gbaraldi)
  • Reland ConstantArray changes (#332) (@maleadt)
  • Compile LLVMExtra using MSYS2 (#333) (@maleadt)
  • Test LLVM with assertions on CI. (#334) (@maleadt)
  • Rename llvmtype to value_type, remove llvmeltype. (#335) (@maleadt)
  • Improve opaque pointer support. (#337) (@maleadt)
  • Fix asmcall macro hygiene. (#338) (@maleadt)
  • Return the number of bytes written from 'write'. (#339) (@maleadt)
  • Refactor in anticipation of breaking release (#340) (@maleadt)
LLVM.jl - v4.17.1

Published by github-actions[bot] over 1 year ago

LLVM v4.17.1

Diff since v4.17.0

Merged pull requests:

  • Revert ConstantArray changes. (#331) (@maleadt)
LLVM.jl - v4.17.0

Published by github-actions[bot] over 1 year ago

LLVM v4.17.0

Diff since v4.16.0

Merged pull requests:

  • Add C-API for Ctx->supportsTypedPointers (#281) (@vchuravy)
  • Avoid getElementType call for LLVM 15 (#324) (@vchuravy)
  • Add support for setting the module SDK Version metadata (#329) (@maleadt)
  • Fix supports_typed_pointers pre LLVM 14 (#330) (@vchuravy)
LLVM.jl - v4.16.0

Published by github-actions[bot] over 1 year ago

LLVM v4.16.0

Diff since v4.15.0

Merged pull requests:

  • Add generated Interop.addrspacecast for LLVMPtr (#322) (@jpsamaroo)
LLVM.jl - v4.15.0

Published by maleadt over 1 year ago

What's Changed

Full Changelog: https://github.com/maleadt/LLVM.jl/compare/v4.14.1...v4.15.0

LLVM.jl - v4.14.1

Published by github-actions[bot] almost 2 years ago

LLVM v4.14.1

Diff since v4.14.0

Merged pull requests:

  • Use Base.active_project. (#316) (@maleadt)
  • Automatically have CI build LLVMExtra, if needed. (#318) (@maleadt)
  • Allow materializer callback to devolve responsibility (#319) (@vchuravy)
LLVM.jl - v4.14.0

Published by github-actions[bot] over 2 years ago

LLVM v4.14.0

Diff since v4.13.1

Closed issues:

  • Disallow sizeof(::LLVMType) (#311)

Merged pull requests:

  • Wrap IRBuilder methods for memcpy/memmove/memset. (#312) (@maleadt)
  • Small improvements (#313) (@maleadt)
LLVM.jl - v4.13.1

Published by github-actions[bot] over 2 years ago

LLVM v4.13.1

Diff since v4.13.0

Merged pull requests:

  • Support querying an unnamed struct's name. (#310) (@maleadt)
LLVM.jl - v4.13.0

Published by github-actions[bot] over 2 years ago

LLVM v4.13.0

Diff since v4.12.0

Merged pull requests:

  • Introduce at-dispose to replace do-block constructors. (#309) (@maleadt)
LLVM.jl - v4.12.0

Published by github-actions[bot] over 2 years ago

LLVM v4.12.0

Diff since v4.11.1

Merged pull requests:

  • Add atomic intrinsics (#308) (@tkf)
LLVM.jl - v4.11.1

Published by github-actions[bot] over 2 years ago

LLVM v4.11.1

Diff since v4.11.0

Closed issues:

  • Metadata operands can be null (#306)

Merged pull requests:

  • Support null metadata, represent as nothing. (#307) (@maleadt)
LLVM.jl - v4.11.0

Published by github-actions[bot] over 2 years ago

LLVM v4.11.0

Diff since v4.10.0

Merged pull requests:

  • Support for iterating DICompileUnits in debug info. (#301) (@maleadt)
  • Add support for poison values. (#303) (@maleadt)
  • Add support for replacing values in metadata. (#304) (@maleadt)
  • Remove test calling intrinsic with invalid arguments. (#305) (@maleadt)
LLVM.jl - v4.10.0

Published by github-actions[bot] over 2 years ago

LLVM v4.10.0

Diff since v4.9.1

Merged pull requests:

  • Add support for extracting a Value from a ValueAsMetadata. (#302) (@maleadt)
LLVM.jl - v4.9.1

Published by github-actions[bot] over 2 years ago

LLVM v4.9.1

Diff since v4.9.0

Merged pull requests:

  • Don't hard-code path to libLLVM. (#300) (@maleadt)
LLVM.jl - v4.9.0

Published by github-actions[bot] over 2 years ago

LLVM v4.9.0

Diff since v4.8.0

Closed issues:

  • deps/build_local.jl: links against artifact LLVM (#298)

Merged pull requests:

  • Use new LLVMExtra jll supporting asserts builds. (#296) (@maleadt)
  • Update jl_type_to_llvm to require a context in >= v1.9 (#297) (@pchintalapudi)
  • Make sure to install the locally-build LLVMExtra. (#299) (@maleadt)
LLVM.jl - v4.8.0

Published by github-actions[bot] over 2 years ago

LLVM v4.8.0

Diff since v4.7.1

Closed issues:

  • Wrap NVVMReflect (#278)
  • Different behavior of LLVMIntSLT and LLVMIntEQ when global variables are involved (#282)
  • LLVMInitializeAll* incorrectly assumes each target has every component defined (#290)
  • UndefVarError: libLLVMExtra not defined on julia master (#291)

Merged pull requests:

  • [LLVMExtra] Remove the InitializeAll* functions (#284) (@vchuravy)
  • add VE to target list (#285) (@vchuravy)
  • Add absolute_symbols materialization unit support (#286) (@vchuravy)
  • add llvmeltype (#288) (@MasonProtter)
  • Rework initialization (#292) (@maleadt)
  • Bump LLVMExtra for 1.9 compat. (#293) (@maleadt)
  • Use CMake_jll to avoid old cmakes (#294) (@vchuravy)
  • Fix CI for Julia+Asserts. (#295) (@maleadt)
LLVM.jl - v4.7.1

Published by github-actions[bot] almost 3 years ago

LLVM v4.7.1

Diff since v4.7.0

Closed issues:

  • Compatibility with LLVM 13 for Julia 1.8 (#276)

Merged pull requests:

  • Initial support for LLVM 13. (#273) (@maleadt)
  • Be more restrictive about LLVMExtra upgrades (#274) (@maleadt)
  • add Julia wrapper for CPU features pass (#275) (@vchuravy)
  • Bump LLVMExtra for Julia 1.8 compatibility. (#277) (@maleadt)
Package Rankings
Top 3.61% on Juliahub.com
Badges
Extracted from project README
PkgEval