MCPcopy Create free account
hub / github.com/ClickHouse/ClickHouse / compileMerge

Method compileMerge

src/AggregateFunctions/AggregateFunctionCount.cpp:153–168  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

151}
152
153void AggregateFunctionCount::compileMerge(llvm::IRBuilderBase & builder, llvm::Value * aggregate_data_dst_ptr, llvm::Value * aggregate_data_src_ptr) const
154{
155 llvm::IRBuilder<> & b = static_cast<llvm::IRBuilder<> &>(builder);
156
157 auto * return_type = toNativeType(b, this->getResultType());
158
159 auto * count_value_dst_ptr = aggregate_data_dst_ptr;
160 auto * count_value_dst = b.CreateLoad(return_type, count_value_dst_ptr);
161
162 auto * count_value_src_ptr = aggregate_data_src_ptr;
163 auto * count_value_src = b.CreateLoad(return_type, count_value_src_ptr);
164
165 auto * count_value_dst_updated = b.CreateAdd(count_value_dst, count_value_src);
166
167 b.CreateStore(count_value_dst_updated, count_value_dst_ptr);
168}
169
170llvm::Value * AggregateFunctionCount::compileGetResult(llvm::IRBuilderBase & builder, llvm::Value * aggregate_data_ptr) const
171{

Callers

nothing calls this directly

Calls 2

toNativeTypeFunction · 0.85
getResultTypeMethod · 0.45

Tested by

no test coverage detected