| 151 | } |
| 152 | |
| 153 | void 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 | |
| 170 | llvm::Value * AggregateFunctionCount::compileGetResult(llvm::IRBuilderBase & builder, llvm::Value * aggregate_data_ptr) const |
| 171 | { |
nothing calls this directly
no test coverage detected