问题标签 [llvm]

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 投票
4 回答
9870 浏览

c++ - LLVM 最大的好处是什么?

有人对LLVMllvm-gccClang有经验吗?

llvm 背后的整个想法对我来说似乎很有趣,我很想看看它的表现如何。如果工具还没有准备好投入生产,我只是不想浪费大量时间来试用这些工具。

如果您有使用这些工具的经验,您如何看待它们?您遇到了哪些主要限制?最大的好处是什么?

非常感谢!

0 投票
3 回答
6147 浏览

gcc - LLVM vs GCC MIPS 代码生成,有什么基准吗?

我很想知道 MIPS 代码、GCC 或 LLVM 的“最佳”免费/OSS 编译器是什么,或者有什么比这些更好的吗?

我有兴趣了解更多关于快速和内存受限生成的汇编代码而不是代码大小的信息。

换句话说,llvm-opt 是否比 gcc -O3 做得更好?

0 投票
3 回答
1938 浏览

compiler-construction - 最佳编译器目的地

作为口译员,我一直在构建几种语言。当我准备好采取“下一步”时,哪些选项最适合非本机编译格式......每个选项的优缺点是什么?

我一直在考虑编译到 CLR 或 LLVM,并考虑过 C-midcompile 几次,但我并不完全确定。

我希望能够移植的一些功能如下:

  1. REPL - 我正在构建的一种语言在运行时支持块级评估。
  2. 健壮的宏 - 我正在构建的语言之一需要能够在标记化之前单独过滤代码,以及在标记化和解析之间的中间步骤。

好吧,不是真的“几个”,只有两个。我喜欢认为我可以将我的语言支持的任何其他功能移植到“任何东西”。

我最好的选择是什么,它们的优点/缺点是什么?

0 投票
4 回答
23276 浏览

java - LLVM 和 java 字节码有什么区别?

我不明白 LLVM 和 java(字节码)之间的区别,它们是什么?

-edit-“它们是什么”我的意思是 LLVM 和 java(字节码)之间的区别,而不是 LLVM 和 java 之间的区别。

0 投票
1 回答
1386 浏览

compiler-construction - 在使用 LLVM 编写 JIT 时,您将如何重用 C 操作码实现?

在 llvm 教程和示例中,编译器通过这样的调用输出 LLVM IR

但是很多解释器都是这样写的:

您将如何提取这些代码片段中的每一个以使用 LLVM 制作 JIT,而无需在 LLVM IR 中重新实现每个操作码?

0 投票
3 回答
2121 浏览

iphone - 使用 Clang 进行调试

我想在我的 Xcode iPhone 项目中使用 clang。然而,这是入门指南:

http://clang.llvm.org/get_started.html

我已经使用 Xcode 工作了一年,但这对我来说远远不能理解!谁能用简单的英语解释如何在我现有的 iPhone 项目中安装和使用 Clang?我不熟悉从控制台加载东西。

谢谢!

0 投票
3 回答
12128 浏览

python - 什么是 LLVM 以及如何用 LLVM 替换 Python VM 将速度提高 5 倍?

Google 正在赞助一个开源项目,以将 Python 的速度提高 5 倍。

Unladen-Swallow似乎有一个很好的项目计划

为什么并发是一个如此困难的问题?
LLVM 会解决并发问题吗?
除了多核之外,还有其他解决方案可用于硬件进步吗?

0 投票
2 回答
1161 浏览

virtual-machine - 像 LLVM 或 PARROT 这样的 VM 是否允许使用来自多种语言的同一个库?

是否可以在任何其他 Parrot (LLVM) 语言中使用以一种 Parrot (LLVM) 语言编写的框架?(就像在任何 CLR 语言中使用 .NET Framework)...

0 投票
7 回答
2889 浏览

python - 关于空腹燕子的意见?

您对Google 的 Unladen Swallow有何看法和期望?从他们的项目计划中:

我们想让 Python 更快,但我们也想让大型、完善的应用程序更容易切换到 Unladen Swallow。

  1. 生成 Python 版本至少比 CPython 快 5 倍。
  2. Python 应用程序性能应该是稳定的。
  3. 保持与 CPython 应用程序的源代码级兼容性。
  4. 保持与 CPython 扩展模块的源代码级兼容性。
  5. 我们不想永远维护一个 Python 实现;我们将我们的工作视为一个分支,而不是一个分支。

甚至更甜蜜:

此外,我们打算移除 GIL 并修复 Python 中的多线程状态。我们相信这可以通过实施更复杂的 GC 来实现

它看起来好得令人难以置信,就像 PyPy 和 Stackless 的最佳组合一样。

更多信息:

更新:正如 DNS 指出的那样,有一个相关的问题:什么是 LLVM 以及如何用 LLVM 替换 Python VM 将速度提高 5 倍?

0 投票
4 回答
3001 浏览

c - 编译到 LLVM 的问题

我一直在玩LLVM ,希望学习如何使用它。

然而,界面的复杂程度让我大吃一惊。

以他们的斐波那契函数为例

要让它输出 LLVM IR,需要61 行代码!!!

它们还包括以拥有最小编译器(200 字节)而闻名的 BrainFuck。不幸的是,使用 LLVM,它超过600 行(18 kb)。

这是编译器后端的规范吗?到目前为止,执行汇编或 C 后端似乎要容易得多。