Skip to content

Release v2.2#187

Merged
ahueck merged 14 commits intomasterfrom
devel
Apr 14, 2026
Merged

Release v2.2#187
ahueck merged 14 commits intomasterfrom
devel

Conversation

@ahueck
Copy link
Copy Markdown
Contributor

@ahueck ahueck commented Apr 14, 2026

Support for LLVM versions up to 22 and introduction of global variables as type descriptors for runtime type registration. Parallel building with TypeART is supported.

Key Changes

  • LLVM Support: Updates for compatibility with LLVM 21 and 22, including pass manager and API adjustments.
  • Global Type Descriptors: Implementation of a type serialization mode that emits type information as global variables with _typeart_ prefixes within each LLVM module.
  • Instrumentation Pass: TypeIDProvider to manage type IDs to support different type serialization modes (inline (global type descriptor for all types), hybrid (global type descriptor for user-def types), file (yaml file for layout of user-def types)).
  • Runtime lib:
    • Reduction of symbol visibility
    • Addition of GlobalTypeDefCallbacks for module-level type initialization.

Misc

  • Updates for header guards and license headers.
  • README with updated build instructions and architecture details.
  • Testing: Addition of test cases for inlined types and runtime global registration.

@coveralls
Copy link
Copy Markdown
Collaborator

Coverage Report for CI Build 24397737785

Coverage increased (+1.3%) to 90.264%

Details

  • Coverage increased (+1.3%) from the base build.
  • Patch coverage: 55 uncovered changes across 9 files (880 of 935 lines covered, 94.12%).
  • 17 coverage regressions across 3 files.

Uncovered Changes

File Changed Covered %
lib/passes/TypeARTPass.cpp 155 138 89.03%
lib/runtime/AllocationTracking.cpp 56 41 73.21%
lib/passes/instrumentation/TypeARTFunctions.cpp 106 100 94.34%
lib/passes/analysis/MemInstFinder.cpp 44 39 88.64%
lib/runtime/GlobalTypeDefCallbacks.cpp 116 111 95.69%
lib/passes/support/Util.h 13 11 84.62%
lib/runtime/GlobalTypeDefCallbacks.h 6 4 66.67%
lib/typelib/TypeDB.cpp 6 4 66.67%
lib/runtime/TypeResolution.cpp 22 21 95.45%

Coverage Regressions

17 previously-covered lines in 3 files lost coverage.

File Lines Losing Coverage Coverage
lib/typelib/TypeDB.cpp 11 78.35%
lib/support/System.cpp 5 82.05%
lib/runtime/AllocationTracking.cpp 1 91.67%

Coverage Stats

Coverage Status
Relevant Lines: 5413
Covered Lines: 4886
Line Coverage: 90.26%
Coverage Strength: 38873.79 hits per line

💛 - Coveralls

@ahueck ahueck merged commit 19abf38 into master Apr 14, 2026
190 checks passed
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.

2 participants