当前位置: 首页>>代码示例>>C++>>正文


C++ CodeGen::CallFunc方法代码示例

本文整理汇总了C++中CodeGen::CallFunc方法的典型用法代码示例。如果您正苦于以下问题:C++ CodeGen::CallFunc方法的具体用法?C++ CodeGen::CallFunc怎么用?C++ CodeGen::CallFunc使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CodeGen的用法示例。


在下文中一共展示了CodeGen::CallFunc方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1:

void TableScanTranslator::ScanConsumer::FilterRowsByVisibility(
    CodeGen &codegen, llvm::Value *tid_start, llvm::Value *tid_end,
    Vector &selection_vector) const {
  // Get the pointer to TransactionRuntime::PerformRead(...)
  auto *txn_perform_read =
      TransactionRuntimeProxy::_PerformVectorizedRead::GetFunction(codegen);

  llvm::Value *txn = translator_.GetCompilationContext().GetTransactionPtr();
  llvm::Value *raw_sel_vec = selection_vector.GetVectorPtr();

  // Invoke the function
  llvm::Value *out_idx =
      codegen.CallFunc(txn_perform_read,
                       {txn, tile_group_ptr_, tid_start, tid_end, raw_sel_vec});
  selection_vector.SetNumElements(out_idx);
}
开发者ID:wy4515,项目名称:peloton,代码行数:16,代码来源:table_scan_translator.cpp

示例2: Append

// Append the given tuple into the sorter instance
void Sorter::Append(CodeGen &codegen, llvm::Value *sorter_ptr,
                    const std::vector<codegen::Value> &tuple) const {
  // First, call Sorter::StoreInputTuple() to get a handle to a contiguous
  // chunk of free space large enough to materialize a single tuple.
  auto *store_func = SorterProxy::_StoreInputTuple::GetFunction(codegen);
  auto *space = codegen.CallFunc(store_func, {sorter_ptr});

  // Now, individually store the attributes of the tuple into the free space
  UpdateableStorage::NullBitmap null_bitmap{codegen, storage_format_, space};
  for (uint32_t col_id = 0; col_id < tuple.size(); col_id++) {
    if (!null_bitmap.IsNullable(col_id)) {
      storage_format_.SetValueSkipNull(codegen, space, col_id, tuple[col_id]);
    } else {
      storage_format_.SetValue(codegen, space, col_id, tuple[col_id],
                               null_bitmap);
    }
  }
  null_bitmap.WriteBack(codegen);
}
开发者ID:wy4515,项目名称:peloton,代码行数:20,代码来源:sorter.cpp

示例3: Sort

// Just make a call to util::Sorter::Sort(...). This actually sorts the data
// that has been inserted into the sorter instance.
void Sorter::Sort(CodeGen &codegen, llvm::Value *sorter_ptr) const {
  auto *sort_func = SorterProxy::_Sort::GetFunction(codegen);
  codegen.CallFunc(sort_func, {sorter_ptr});
}
开发者ID:wy4515,项目名称:peloton,代码行数:6,代码来源:sorter.cpp

示例4: Init

// Just make a call to util::Sorter::Init(...)
void Sorter::Init(CodeGen &codegen, llvm::Value *sorter_ptr,
                  llvm::Value *comparison_func) const {
  auto *tuple_size = codegen.Const32(storage_format_.GetStorageSize());
  codegen.CallFunc(SorterProxy::_Init::GetFunction(codegen),
                   {sorter_ptr, comparison_func, tuple_size});
}
开发者ID:wy4515,项目名称:peloton,代码行数:7,代码来源:sorter.cpp

示例5: Destroy

// Just make a call to util::Sorter::Destroy(...)
void Sorter::Destroy(CodeGen &codegen, llvm::Value *sorter_ptr) const {
  codegen.CallFunc(SorterProxy::_Destroy::GetFunction(codegen), {sorter_ptr});
}
开发者ID:wy4515,项目名称:peloton,代码行数:4,代码来源:sorter.cpp


注:本文中的CodeGen::CallFunc方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。