在LLVM中,如何插入/声明具有可变数量的参数的函数?

尼科

我试图将调用的函数提取到另一个模块。如果函数具有定义数量的参数,则表示我成功。

    // Create the arguments vector from the my argument list
    SmallVector<Type *, sizeof(MyArgs)> ArgTys;
    for (Value *V : MyArgs)
      ArgTys.push_back(V->getType());

    // Just get a void return type
    Type *RetTy = Type::getVoidTy(TempContext);


    // Create a new function with MyArgs as arguments
    Constant *C = TempM->getOrInsertFunction(
        "TempF", FunctionType::get(RetTy, ArgTys, false));

但是,如果函数具有可变数量的参数,getOrInsertFunction只增加了论据,我是能够捕捉与MyArgsArgTys


如何验证源函数是否具有可变数量的参数?

如何使用getOrInserFunction声明带有可变数量参数的函数?

作曲

根据文档

  1. 您可以通过以下方式声明变量参数函数:

    FunctionType::get(RetTy, ArgTys, true);

(因此,在您的情况下,请false为“ TempF”函数更改该参数。)

  1. 您可以查询函数是否在方法中使用了变量参数列表

    bool isVarArg() const

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何创建具有可变数量的参数的函数?

具有可变数量/参数类型的函数的TypeScript声明文件

Numba - 如何为可变数量的函数参数声明签名?

如何声明具有可变数量属性的TypeScript接口?

具有可变数量参数的函数的指针

具有可变数量参数的函数的通用打字稿

具有可变数量参数的OCaml函数

Python咖喱函数具有可变数量的参数

如何从类似的函数调用具有可变数量的参数的函数?

我如何将数组作为args列表传递给C中具有可变数量参数的函数

如何创建具有可变数量的类型参数的模板?

如何将具有可变数量参数的函数分配给单个变量?

如何编写具有可变数量的输出参数的匿名函数?

如何使用指针编写具有可变数量的参数的函数?

如何创建带有可变数量的参数的函数变量?

函数中可变数量的参数

如何在 Python 中使用字符串作为函数参数并具有可变数量的参数

如何调用和声明带有可变数量参数的方法?

如何创建具有可变数量的“ for”循环且每个循环具有不同索引的函数?

具有可变数量的特定模板类型参数的模板函数

具有特定类型的可变数量参数的 C++ 函数

枚举可以具有可变数量的参数吗?

具有可变数量参数的 f 字符串?

具有可变数量参数的 Concat CString

创建带有可变数量参数的函数

具有可变数量ifelse中断的R函数

具有可变数量表标题的 DataTables 呈现函数

具有可变数量的numpy数组的Python函数

带有argparse的Python中的一个参数如何有可变数量的参数?