llvm-3.0相关内容

DW_AT_location的用途和含义

我想知道如何使用属性DW_AT_location进行调试.它是dwarf指定的用于调试的属性之一,但无法真正理解其确切含义.以及在编译代码时应何时发出此属性. 解决方案 请检查 DWARF 3的第7章规范,数据表示. 例如,如果DW_AT_location的值为0x91 0x68,则从第7章的表中我们可以知道0x91表示DWARF调试信息格式为DW_OP_fbreg,而0x68为SL ..
发布时间:2020-06-13 18:31:59 其他开发

LLVM IR:如何在另一个.ll文件中调用函数

我正在编写LLVM IR代码,可以在另一个.ll文件中调用一个函数吗? 例如: 在一个.ll文件中,有一个函数foo();. 我可以在b.ll中使用此功能,就像调用foo一样吗?如果是这样,我如何添加a.ll 谢谢 解决方案 您需要在调用它的ll文件中添加函数foo的声明,然后像往常一样转换链接ll文件以生成可执行文件 llvm-link a.ll b.ll -o a. ..
发布时间:2020-05-02 11:05:30 其他开发

llvm:是否可以在单个阶段合并验证和编译?

通常来说,编写llvm前端时,将使用AST并首先检查其语义是否定义明确.此后,将进行AST并执行IR构建阶段. 我想知道,直接在AST上执行IR构建阶段是否现实,并且如果在构建过程中发现错误,将部分更改恢复到模块对象? 我认为这是必需的: 删除定义的类型 删除已定义的全局变量 我想念的还有什么吗? 对此有何想法?在失败的构建阶段之后,干净恢复模块更改需要做什么的一般准则是什么 ..
发布时间:2020-05-02 11:05:17 其他开发

使用cmake将LLVM添加到项目

我正在尝试使用cygwin作为编译器将LLVM添加到cmake项目.我从cygwin的安装程序中下载了LLVM(只安装了所有与llvm相关的软件包).文件在那里,但是我不能在项目中包含LLVM.我尝试使用3.5.2(安装的版本)的官方指南,而我的CMakeLists.txt看起来像 cmake_minimum_required(VERSION 3.2) project(Lang) find ..
发布时间:2020-05-02 11:02:54 C/C++开发

llvm:逐步构建JIT内容的策略

我希望我的语言后端逐步构建函数和类型,但是当函数和类型无法成功构建时(由于用户输入问题),不要污染主模块和上下文. 我问一个较早的问题. 我可以看到的一种策略是在temp模块和LLVMContext中构建所有内容,仅在成功之后才迁移到主上下文,但是我不确定当前的API是否可行.例如,我不知道该在不同上下文之间迁移该内容,因为它们应该表示LLVM功能的孤立孤岛,但是也许总会有其他选择将所有内容 ..
发布时间:2020-05-02 11:00:09 其他开发

为什么需要-ObjC链接器标志来链接静态库中的类别? (LLVM)

关于Apple的技术问答: http: //developer.apple.com/library/mac/#qa/qa1490/_index.html 我认为编译器可以在编译时标记对类别中定义的方法的调用(它知道它们是在类别中定义的,而不是在主类中定义的,因为原型位于@interface Class (Category)部分中)-因此它可以构建“外部类别方法"的目标文件中的表格.然后,链接 ..
发布时间:2020-05-02 10:52:11 移动开发

xcode-“尝试使用已删除的功能” - 这意味着什么?

我在Xcode 4.2中编写一个C ++库 我的一个类不会编译这个错误:“试图使用一个删除的函数。 p> 没有具体的说明它在说什么功能。 我不想在这里发布类代码,但任何人都有任何想法这个错误的意思? 在 上找不到: 感谢一堆 $ b $ $ b struct Foo { Foo(const Foo&)= delete; }; pre> 尝试使用这样 ..
发布时间:2016-10-27 23:44:44 移动开发

LLVM字符串值对象:如何从值检索字符串?

当从现有的AST构建IR时,我的AST有一些字符串值(在编译时,它们是从 std :: string 构建的)他们安全地作为 llvm :: Value 用作表达式的一部分。 在这种情况下,我不需要在运行时绑定字符串,因为字符串值只是为了解析东西作为变量,函数或类在编译-time(该语言不支持本地字符串类型)。 将字符串内容保存为的最佳方式llvm :: Value 更具体地说, ..
发布时间:2016-10-23 14:16:10 C/C++开发