js8544 commented on code in PR #14187:
URL: https://github.com/apache/arrow/pull/14187#discussion_r977216394
##########
cpp/src/gandiva/llvm_generator.cc:
##########
@@ -378,7 +386,8 @@ Status LLVMGenerator::CodeGenExprValue(DexPtr value_expr,
int buffer_count,
SetPackedBitValue(output_ref, loop_var, output_value->data());
} else if (arrow::is_primitive(output_type_id) ||
output_type_id == arrow::Type::DECIMAL) {
- llvm::Value* slot_offset = CreateGEP(builder, output_ref, loop_var);
+ llvm::Value* slot_offset =
Review Comment:
done
##########
cpp/src/gandiva/llvm_generator.cc:
##########
@@ -605,14 +617,15 @@ void LLVMGenerator::Visitor::Visit(const
VectorReadVarLenValueDex& dex) {
builder->CreateAdd(loop_var_, GetSliceOffset(dex.OffsetsIdx()));
// => offset_start = offsets[loop_var]
- slot = CreateGEP(builder, offsets_slot_ref, offsets_slot_index);
- llvm::Value* offset_start = CreateLoad(builder, slot, "offset_start");
+ slot = builder->CreateGEP(types->i32_type(), offsets_slot_ref,
offsets_slot_index);
+ llvm::Value* offset_start =
Review Comment:
done
##########
cpp/src/gandiva/llvm_generator.cc:
##########
@@ -605,14 +617,15 @@ void LLVMGenerator::Visitor::Visit(const
VectorReadVarLenValueDex& dex) {
builder->CreateAdd(loop_var_, GetSliceOffset(dex.OffsetsIdx()));
// => offset_start = offsets[loop_var]
- slot = CreateGEP(builder, offsets_slot_ref, offsets_slot_index);
- llvm::Value* offset_start = CreateLoad(builder, slot, "offset_start");
+ slot = builder->CreateGEP(types->i32_type(), offsets_slot_ref,
offsets_slot_index);
+ llvm::Value* offset_start =
+ builder->CreateLoad(types->i32_type(), slot, "offset_start");
// => offset_end = offsets[loop_var + 1]
llvm::Value* offsets_slot_index_next = builder->CreateAdd(
offsets_slot_index, generator_->types()->i64_constant(1), "loop_var+1");
- slot = CreateGEP(builder, offsets_slot_ref, offsets_slot_index_next);
- llvm::Value* offset_end = CreateLoad(builder, slot, "offset_end");
+ slot = builder->CreateGEP(types->i32_type(), offsets_slot_ref,
offsets_slot_index_next);
+ llvm::Value* offset_end = builder->CreateLoad(types->i32_type(), slot,
"offset_end");
Review Comment:
done
##########
cpp/src/gandiva/llvm_generator.cc:
##########
@@ -621,7 +634,8 @@ void LLVMGenerator::Visitor::Visit(const
VectorReadVarLenValueDex& dex) {
// get the data from the data array, at offset 'offset_start'.
llvm::Value* data_slot_ref =
GetBufferReference(dex.DataIdx(), kBufferTypeData, dex.Field());
- llvm::Value* data_value = CreateGEP(builder, data_slot_ref, offset_start);
+ llvm::Value* data_value =
Review Comment:
done
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]