llvmlite

    0热度

    1回答

    我有一个函数的地址,也有它的“c样”表示(来自llvmlite,但这不是那么重要)。 对于一个功能,它增加了两个双值并返回它们的代码是这样的:cfunc = CFUNCTYPE(c_double, c_double, c_double)(func_ptr) 这会工作得非常好,但是我的函数的参数可以在类型和数量的不同而不同。在python中,这可以通过一些for arg in args生成器来解决。

    3热度

    3回答

    我在Python中编写了一个编译器,使用llvmlite来生成中间LLVM IR。 Lexer和解析器已经完成,现在我正在做代码生成。编译器将是动态的和弱类型的,所以我需要在运行时做一些事情,比如分配。为此,我已经在C中实现了一些函数,现在我想使用llvmlite中的builder.call来调用这些函数。 我还没有找到文件或如何做到这一点的例子。 这个函数只是一个简单的例子,真正的例子要大得多。

    0热度

    1回答

    我想为我自己的程序使用llvmlite的优化​​通行证。我已经定义了以下功能为我的代码通功能: def create_pass_manager_builder(opt=3, loop_vectorize=False, slp_vectorize=False): pmb = llvm.create_pass_manager_builder() pmb.opt_level = op

    1热度

    1回答

    在LLVM(特别是llvmlite)中,如何声明一个全局变量并用任意(运行时)表达式的结果初始化其内容? 我看到我可以创建一个GlobalVariable对象,但它看起来像它的initializer参数期望Constant。如果我必须在启动/加载时运行任意代码以确定其值,该怎么办?代码去哪了?我要添加说明书给谁Builder?我是否声明了一个专门命名的函数和/或向其添加魔术属性,以便在运行时将模块

    0热度

    1回答

    有谁知道是否有可能从IR生成的二进制代码与llvmlite生成?在llvm中,我们可以简单地使用clang -emit-llvm -o foo.bc -c foo.c.如果我使用llvmlite会怎么样?