MCPcopy Create free account
hub / github.com/apache/impala / CodegenMemPoolAllocate

Method CodegenMemPoolAllocate

be/src/codegen/llvm-codegen.cc:1792–1806  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1790}
1791
1792llvm::Value* LlvmCodeGen::CodegenMemPoolAllocate(LlvmBuilder* builder,
1793 llvm::Value* pool_val, llvm::Value* size_val, const char* name) {
1794 DCHECK(pool_val != nullptr);
1795 DCHECK(size_val->getType()->isIntegerTy());
1796 DCHECK_LE(size_val->getType()->getIntegerBitWidth(), 64);
1797 DCHECK_EQ(pool_val->getType(), GetStructPtrType<MemPool>());
1798 // Extend 'size_val' to i64 if necessary
1799 if (size_val->getType()->getIntegerBitWidth() < 64) {
1800 size_val = builder->CreateSExt(size_val, i64_type());
1801 }
1802 llvm::Function* allocate_fn = GetFunction(IRFunction::MEMPOOL_ALLOCATE, false);
1803 llvm::Value* alignment = GetI32Constant(MemPool::DEFAULT_ALIGNMENT);
1804 llvm::Value* fn_args[] = {pool_val, size_val, alignment};
1805 return builder->CreateCall(allocate_fn, fn_args, name);
1806}
1807
1808llvm::Value* LlvmCodeGen::CodegenArrayAt(
1809 LlvmBuilder* builder, llvm::Value* array, int idx, const char* name) {

Callers 2

Calls 2

CreateCallMethod · 0.80
getTypeMethod · 0.65

Tested by

no test coverage detected