Coverage Report

Created: 2026-06-30 06:10

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/WasmEdge/lib/llvm/data.h
Line
Count
Source
1
// SPDX-License-Identifier: Apache-2.0
2
// SPDX-FileCopyrightText: Copyright The WasmEdge Authors
3
#pragma once
4
5
#include "llvm.h"
6
#include "llvm/data.h"
7
8
struct WasmEdge::LLVM::Data::DataContext {
9
#if LLVM_VERSION_MAJOR >= 21
10
  LLVM::Context LLContext = LLVM::Context::create();
11
  LLVM::OrcThreadSafeContext TSContext = LLVM::OrcThreadSafeContext(LLContext);
12
  LLVM::Context getLLContext() noexcept { return LLContext; }
13
  LLVM::OrcThreadSafeContext &getTSContext() noexcept { return TSContext; }
14
#else
15
  LLVM::OrcThreadSafeContext TSContext;
16
6.90k
  LLVM::Context getLLContext() noexcept { return TSContext.getContext(); }
17
0
  LLVM::OrcThreadSafeContext &getTSContext() noexcept { return TSContext; }
18
#endif
19
  LLVM::Module LLModule;
20
  LLVM::TargetMachine TM;
21
2.30k
  DataContext() noexcept : LLModule(getLLContext(), "wasm") {}
22
0
  void resetModule() noexcept {
23
0
    LLModule = LLVM::Module(getLLContext(), "wasm");
24
0
  }
25
};