问题标签 [llvm-c++-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
206 浏览

c++ - LLVM 基本程序:链接器错误

我刚刚开始使用llvm。

这是我正在尝试编译的代码:

当我编译时:

我得到了 a.out 文件。不用担心。

但是,我有兴趣获取 LLVM IR 文件。所以,我用

我收到一条错误消息

命令 :

给我留下了几个警告,当我使用 lli 执行生成的 .s 文件时,我得到与以前相同的错误。

非常感谢你的帮助

0 投票
2 回答
207 浏览

c++ - LLVM C++ 程序编译

嗨,我用 LLVM Api 编写了一个简单的 C++ 代码

我如何编译它以获取 LLVM IR 文件?

谢谢你的帮助

0 投票
1 回答
3613 浏览

c++ - LLVM StoreInst 和 AllocaInst

我正在尝试编写一个简单的解释器。

我正在尝试为分配操作生成 LLVM IR。生成部分的代码如下所示

SymTab 定义如下:

当我尝试执行输出文件时,出现以下错误:

你能帮我解决吗?

谢谢

0 投票
1 回答
351 浏览

clang - 在哪里可以找到完整的 LangOptions 方法列表

我需要clang::CompilerInstance用一个类配置一个类的调用,clang::LangOptions但我无法找到该类方法的详尽列表。

在这个链接中(使用 llvm 和 clang 解析 C++ 失败)我为 c++ 找到了一些类似的东西:

在这里(http://www.ibm.com/developerworks/linux/library/os-createcompilerllvm2/index.html?ca=drs-#list15)他们说要使用:

我在官方文档(http://clang.llvm.org/doxygen/classclang_1_1LangOptions.html)中进行了搜索,但没有找到与此相关的任何内容。

0 投票
1 回答
918 浏览

c++11 - LLVM IR Lambda 函数

我使用 clang++ 3.4 将 C++11 程序 (test.cpp) 编译成 LLVM IR 文件 (test.ll)。该程序包含几个 C++ lambda 函数,我想知道是否可以使用如下技术仅提取 lambda 函数的 IR:

0 投票
2 回答
2048 浏览

llvm - 如何使用 LLVM API 查找函数中使用了哪些全局变量?

我想收集 LLVm IR 代码函数中使用的所有全局变量。是否有任何 LLVM API 可以做到这一点?例如,`如以下代码。

全局变量 a 和 b 在 fun() 中使用,我需要将 a 和 b 收集到一个集合中。

0 投票
1 回答
1466 浏览

clang - 在 clang 命令行上提供 LLVM ModulePass

我有一个与 opt 工具配合使用的 ModulePass,但我无法弄清楚如何让它在命令行中可用。我目前使用通行证的工作流程是:

  1. clang -c -emit-llvm [c-源代码文件]
  2. llvm-link [llvm 位码文件]
  3. opt -load [PassName].so -[pass-name] [链接的 llvm 文件]
  4. llc [生成的位码文件]
  5. gcc [生成的汇编文件] -o [目标]

我想让我的 pass 与 clang 命令行集成,这样它就可以作为现有软件(例如 c++ 标准库)构建的一部分被调用,而不必为我编译的每个东西重新构建整个构建系统。我已经看到有关如何执行此操作的提示,但我无法将这些部分组合成一个工作设置。

使用 Clang 自动运行 LLVM Pass准确描述了我想要的,但该方法在 LLVM 3.4 中似乎已被弃用(PassManagerBuilder 已移至旧命名空间)。

LLVM - 使用 clang 自动运行 Own Pass似乎解决了基本问题,但我希望我可以做到这一点而不必修改 clang(这似乎是那里的建议)。

使用 LLVM 3.4 从 clang 获取新通行证的最佳方法是什么?

0 投票
1 回答
637 浏览

c++ - How to declare a global integer instance in LLVM IR?

I was wondering if anyone knew how to declare a global integer instance in LLVM IR. So far, I've been doing the following:

When I try to run, I get the following error:

0 投票
2 回答
5417 浏览

compilation - 如何编译包含 LLVM API 标头的 C++ 程序?

我正在尝试使用 C++ 编译器来编译以下程序:

我正在尝试使用以下命令编译程序:

但是,当我编译时,我收到以下编译错误:

在这种情况下,我不确定在使用 Clang 编译 main.cpp 时如何链接 LLVM API 标头。

任何帮助将不胜感激。

0 投票
2 回答
1908 浏览

llvm - 在函数传递中访问 loopinfo 的 LLVM 错误

我试图通过编写函数传递从 IR 获取循环信息。所以我按照一些例子写了如下。我对编写通行证和通行证管理器不是很熟悉。

当我运行这个程序时,它只是向我展示了segmentation error(core dumped)

但是当我注释掉addRequired我得到的错误消息是

我已经标记了 3 个地方,我不确定哪个是正确的或不正确的。任何人都可以帮助我吗?