Skip to content
This repository was archived by the owner on May 9, 2024. It is now read-only.

Commit f289b4d

Browse files
committed
Use opaque pointers for all remaining address space casts
1 parent 294cbf7 commit f289b4d

File tree

6 files changed

+11
-18
lines changed

6 files changed

+11
-18
lines changed

omniscidb/QueryEngine/ArrayIR.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,8 @@ std::vector<llvm::Value*> CodeGenerator::codegenArrayExpr(
142142
codegen_traits_desc.local_addr_space_) {
143143
allocated_target_buffer = ir_builder.CreateAddrSpaceCast(
144144
allocated_target_buffer,
145-
llvm::PointerType::get(
146-
allocated_target_buffer->getType()->getPointerElementType(),
147-
co.codegen_traits_desc.local_addr_space_),
145+
llvm::PointerType::get(cgen_state_->context_,
146+
co.codegen_traits_desc.local_addr_space_),
148147
"allocated.target.buffer.cast");
149148
}
150149
} else {

omniscidb/QueryEngine/ExtensionsIR.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ llvm::Value* CodeGenerator::codegenFunctionOper(
346346
codegen_traits_desc.local_addr_space_) {
347347
buffer_ret = cgen_state_->ir_builder_.CreateAddrSpaceCast(
348348
buffer_ret,
349-
llvm::PointerType::get(buffer_ret->getType()->getPointerElementType(),
349+
llvm::PointerType::get(cgen_state_->context_,
350350
codegen_traits_desc.local_addr_space_),
351351
"buffer.ret.cast");
352352
}
@@ -411,7 +411,7 @@ CodeGenerator::beginArgsNullcheck(const hdk::ir::FunctionOper* function_oper,
411411
codegen_traits_desc.local_addr_space_) {
412412
null_array_alloca = cgen_state_->ir_builder_.CreateAddrSpaceCast(
413413
null_array_alloca,
414-
llvm::PointerType::get(null_array_alloca->getType()->getPointerElementType(),
414+
llvm::PointerType::get(cgen_state_->context_,
415415
codegen_traits_desc.local_addr_space_),
416416
"null.array.alloca.cast");
417417
}

omniscidb/QueryEngine/IRCodegen.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1252,7 +1252,7 @@ llvm::Value* Executor::arrayLoopCodegen(const hdk::ir::Expr* array_expr,
12521252
co.codegen_traits_desc.local_addr_space_) {
12531253
array_idx_ptr = cgen_state_->ir_builder_.CreateAddrSpaceCast(
12541254
array_idx_ptr,
1255-
llvm::PointerType::get(array_idx_ptr->getType()->getPointerElementType(),
1255+
llvm::PointerType::get(cgen_state_->context_,
12561256
co.codegen_traits_desc.local_addr_space_),
12571257
"array.idx.ptrcast");
12581258
}

omniscidb/QueryEngine/LoopControlFlow/JoinLoop.cpp

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,7 @@ llvm::BasicBlock* JoinLoop::codegen(
9595
co.codegen_traits_desc.local_addr_space_) {
9696
iteration_counter_ptr = builder.CreateAddrSpaceCast(
9797
iteration_counter_ptr,
98-
llvm::PointerType::get(
99-
iteration_counter_ptr->getType()->getPointerElementType(),
100-
co.codegen_traits_desc.local_addr_space_),
98+
llvm::PointerType::get(context, co.codegen_traits_desc.local_addr_space_),
10199
"iteration.counter.ptr.cast");
102100
}
103101
llvm::Value* found_an_outer_match_ptr{nullptr};
@@ -109,9 +107,7 @@ llvm::BasicBlock* JoinLoop::codegen(
109107
co.codegen_traits_desc.local_addr_space_) {
110108
found_an_outer_match_ptr = builder.CreateAddrSpaceCast(
111109
found_an_outer_match_ptr,
112-
llvm::PointerType::get(
113-
found_an_outer_match_ptr->getType()->getPointerElementType(),
114-
co.codegen_traits_desc.local_addr_space_),
110+
llvm::PointerType::get(context, co.codegen_traits_desc.local_addr_space_),
115111
"found.an.outer.match.ptr.cast");
116112
}
117113
builder.CreateStore(ll_bool(false, context), found_an_outer_match_ptr);
@@ -121,9 +117,7 @@ llvm::BasicBlock* JoinLoop::codegen(
121117
co.codegen_traits_desc.local_addr_space_) {
122118
current_condition_match_ptr = builder.CreateAddrSpaceCast(
123119
current_condition_match_ptr,
124-
llvm::PointerType::get(
125-
current_condition_match_ptr->getType()->getPointerElementType(),
126-
co.codegen_traits_desc.local_addr_space_),
120+
llvm::PointerType::get(context, co.codegen_traits_desc.local_addr_space_),
127121
"current.condition.match.ptr.cast");
128122
}
129123
}

omniscidb/QueryEngine/NativeCodegen.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1100,7 +1100,7 @@ void Executor::createErrorCheckControlFlow(
11001100
error_code_arg_val = ir_builder.CreateAddrSpaceCast(
11011101
error_code_arg,
11021102
llvm::PointerType::get(
1103-
error_code_arg->getType()->getPointerElementType(),
1103+
cgen_state_->context_,
11041104
record_error_code_func->getArg(1)->getType()->getPointerAddressSpace()),
11051105
"checkflow.error.cast");
11061106
}
@@ -1945,7 +1945,7 @@ bool Executor::compileBody(const RelAlgExecutionUnit& ra_exe_unit,
19451945
co.codegen_traits_desc.local_addr_space_) {
19461946
loop_done = cgen_state_->ir_builder_.CreateAddrSpaceCast(
19471947
loop_done,
1948-
llvm::PointerType::get(loop_done->getType()->getPointerElementType(),
1948+
llvm::PointerType::get(cgen_state_->context_,
19491949
co.codegen_traits_desc.local_addr_space_),
19501950
"loop.done.cast");
19511951
}

omniscidb/QueryEngine/RowFuncBuilder.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1160,7 +1160,7 @@ void RowFuncBuilder::codegenEstimator(std::stack<llvm::BasicBlock*>& array_loops
11601160
co.codegen_traits_desc.local_addr_space_) {
11611161
estimator_key_lv = LL_BUILDER.CreateAddrSpaceCast(
11621162
estimator_key_lv,
1163-
llvm::PointerType::get(estimator_key_lv->getType()->getPointerElementType(),
1163+
llvm::PointerType::get(executor_->cgen_state_->context_,
11641164
cgen_traits.getLocalAddrSpace()),
11651165
"estimator.key.lv.cast");
11661166
}

0 commit comments

Comments
 (0)