Skip to content

Commit ee32ec4

Browse files
committed
Do not pass IRBuilder to LLVMTypes
1 parent 65e2ed8 commit ee32ec4

File tree

4 files changed

+8
-12
lines changed

4 files changed

+8
-12
lines changed

src/engine/internal/llvm/llvmcodebuilder.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1851,8 +1851,8 @@ void LLVMCodeBuilder::createProcedureCall(BlockPrototype *prototype, const Compi
18511851
void LLVMCodeBuilder::initTypes()
18521852
{
18531853
llvm::PointerType *pointerType = llvm::PointerType::get(llvm::Type::getInt8Ty(m_llvmCtx), 0);
1854-
m_valueDataType = LLVMTypes::createValueDataType(&m_builder);
1855-
m_stringPtrType = LLVMTypes::createStringPtrType(&m_builder);
1854+
m_valueDataType = LLVMTypes::createValueDataType(m_llvmCtx);
1855+
m_stringPtrType = LLVMTypes::createStringPtrType(m_llvmCtx);
18561856
}
18571857

18581858
void LLVMCodeBuilder::createVariableMap()

src/engine/internal/llvm/llvmtypes.cpp

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,10 @@
66

77
using namespace libscratchcpp;
88

9-
llvm::StructType *LLVMTypes::createValueDataType(llvm::IRBuilder<> *builder)
9+
llvm::StructType *LLVMTypes::createValueDataType(llvm::LLVMContext &ctx)
1010
{
11-
llvm::LLVMContext &ctx = builder->getContext();
12-
1311
// Create the ValueData struct
14-
llvm::Type *unionType = builder->getInt64Ty(); // 64 bits is the largest size
12+
llvm::Type *unionType = llvm::Type::getInt64Ty(ctx); // 64 bits is the largest size
1513

1614
llvm::Type *valueType = llvm::Type::getInt32Ty(ctx); // Assuming ValueType is a 32-bit enum
1715
llvm::Type *padding = llvm::Type::getInt32Ty(ctx); // Padding for alignment
@@ -22,10 +20,8 @@ llvm::StructType *LLVMTypes::createValueDataType(llvm::IRBuilder<> *builder)
2220
return ret;
2321
}
2422

25-
llvm::StructType *LLVMTypes::createStringPtrType(llvm::IRBuilder<> *builder)
23+
llvm::StructType *LLVMTypes::createStringPtrType(llvm::LLVMContext &ctx)
2624
{
27-
llvm::LLVMContext &ctx = builder->getContext();
28-
2925
// Create the StringPtr struct
3026
llvm::PointerType *pointerType = llvm::PointerType::get(llvm::Type::getInt8Ty(ctx), 0);
3127
llvm::Type *sizeType = llvm::Type::getInt64Ty(ctx);

src/engine/internal/llvm/llvmtypes.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ namespace libscratchcpp
1717
class LLVMTypes
1818
{
1919
public:
20-
static llvm::StructType *createValueDataType(llvm::IRBuilder<> *builder);
21-
static llvm::StructType *createStringPtrType(llvm::IRBuilder<> *builder);
20+
static llvm::StructType *createValueDataType(llvm::LLVMContext &ctx);
21+
static llvm::StructType *createStringPtrType(llvm::LLVMContext &ctx);
2222
};
2323

2424
} // namespace libscratchcpp

test/llvm/llvmexecutablecode_test.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class LLVMExecutableCodeTest : public testing::Test
3030
m_module = m_ctx->module();
3131
m_llvmCtx = m_ctx->llvmCtx();
3232
m_builder = std::make_unique<llvm::IRBuilder<>>(*m_llvmCtx);
33-
m_valueDataType = LLVMTypes::createValueDataType(m_builder.get());
33+
m_valueDataType = LLVMTypes::createValueDataType(*m_llvmCtx);
3434
test_function(nullptr, nullptr, nullptr, nullptr, nullptr); // force dependency
3535

3636
m_script = std::make_unique<Script>(&m_target, nullptr, &m_engine);

0 commit comments

Comments
 (0)