| 1781 | } |
| 1782 | |
| 1783 | void LlvmCodeGen::CodegenClearNullBits( |
| 1784 | LlvmBuilder* builder, llvm::Value* tuple_ptr, const TupleDescriptor& tuple_desc) { |
| 1785 | llvm::Value* int8_ptr = builder->CreateBitCast(tuple_ptr, ptr_type(), "int8_ptr"); |
| 1786 | llvm::Value* null_bytes_offset = GetI32Constant(tuple_desc.null_bytes_offset()); |
| 1787 | llvm::Value* null_bytes_ptr = |
| 1788 | builder->CreateInBoundsGEP(int8_ptr, null_bytes_offset, "null_bytes_ptr"); |
| 1789 | CodegenMemset(builder, null_bytes_ptr, 0, tuple_desc.num_null_bytes()); |
| 1790 | } |
| 1791 | |
| 1792 | llvm::Value* LlvmCodeGen::CodegenMemPoolAllocate(LlvmBuilder* builder, |
| 1793 | llvm::Value* pool_val, llvm::Value* size_val, const char* name) { |
no test coverage detected