问题标签 [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 投票
3 回答
29561 浏览

64-bit - 使用 64 位 llvm-gcc 构建 32 位

我有 64 位版本的 llvm-gcc,但我希望能够构建 32 位和 64 位二进制文​​件。有这个标志吗?我尝试传递 -m32 (适用于常规 gcc),但我收到如下错误消息:

这是倒退;我想为 64 位处理器生成 32 位代码!

我正在运行 llvm-gcc 4.2,它是 Ubuntu 9.04 x86-64 附带的。


编辑:这是我使用 -v 标志运行 llvm-gcc 时输出的相关部分:

我查看了 /usr/lib/llvm/gcc-4.2/libexec/gcc 希望找到另一个二进制文件,但唯一的目录是 x86_64-linux-gnu。接下来我可能会考虑使用适当的选项从源代码编译 llvm-gcc。

0 投票
1 回答
7571 浏览

iphone - Xcode 3.2.1 GCC CLANG 和 LLVM 揭秘

本周新的 Xcode 3.2.1 中包含的自述文件如下:

  • 静态代码分析通过 Build 菜单下的 Build and Analyze 选项或自定义构建设置完全集成在 Xcode IDE 中
  • GCC 4.2 是 10.6 SDK 的默认系统编译器
  • 可选的 LLVM 编译器包含使用两个不同的前端 - Clang 编译器是一个领先的解析器,可提供显着改进的编译时间。为了获得最大的兼容性,GCC LLVM 编译器将 LLVM 后端与 GCC 4.2 解析器一起使用。
  • 新的可选 Clang-LLVM 1.0 编译器使用速度更快的 Clang 前端解析器与 LLVM 后端编译器相结合,以实现快速编译和快速可执行代码。许多项目将从这种编译器组合中受益,尽管 GCC 4.2 仍然是系统默认值。Clang-LLVM 1.0 编译器在遇到 C++ 代码时将回退到使用 LLVM-GCC 4.2。

我们公司现有的项目是用于桌面和 iphone 的纯 C、Objective-C 和 Objective-C++。有人可以概括一下 LLVM、GCC、CLANG、CLANG-LLVM、WordFoo 等之间的区别吗?人。并解释它们是什么以及我们应该何时使用它们以及用于什么目的?有更详细解释的链接会很好,但我真的只是在寻找高级概述。

0 投票
3 回答
1414 浏览

c++ - Is LLVM an exception to the rule for avoiding dynamic casts?

LLVM has it's own hand rolled alternative to RTTI that is a speed improvement over built-in RTTI and allows dynamic casting to classes with no vtable (dyn_cast). However, it can still be used in exactly the way that dynamic_cast<> is used though it does allow it to be used with more classes.

dyn_cast<> template documentation

LLVM is a reputable C++ project so this seems to fly in the face of the common saying that too many dynamic casts is a sign of bad design, also known as a code smell. Surely a better performing dynamic cast does nothing to improve its use in design than a standard dynamic_cast. So who is right here? Are there cases where large-scale use of dynamic casting is a good design choice in C++ code? Google turns up 690 occurrences of this kind of dynamic casting in the LLVM trunk source code.

Uses of dyn_cast<> in LLVM trunk

0 投票
8 回答
41059 浏览

c - 如何通过#define 指令检测 LLVM 及其版本?

我认为这个问题很清楚。我正在尝试编写一个编译器检测标头,以便能够在应用程序中包含有关使用哪个编译器和哪个版本的信息。

这是我正在使用的代码的一部分:

可以这样使用:

有什么方法可以检测 LLVM 及其版本吗?还有叮当声?

0 投票
1 回答
427 浏览

iphone - Xcode 3.1.4 内置分析器

我想知道 Xcode 3.1.4 中的内置分析器是否使单独使用 LLVM/Clang 静态分析器变得多余?

请参阅此处的原始文章:使用 LLVM/Clang 静态分析器查找内存泄漏

谢谢。

0 投票
2 回答
3953 浏览

xcode - 将 LLVM Clang 2.6 与 Xcode 3.2 一起使用

所以,我刚刚下载了 LLVM Clang (2.6) 二进制文件。
Mac OS X 10.6 带有 Clang 1.0。

你知道如何将更高版本的 Clang 与 Xcode 3.2.x IDE 集成吗?


只是覆盖文件似乎有点冒险。

0 投票
4 回答
5842 浏览

haskell - 在选择用于 LLVM 的函数式编程语言时,有哪些取舍?

让我们暂时假设 C++ 不是函数式编程语言。如果您想为后端使用 LLVM 编写编译器,并且您想使用函数式编程语言及其与 LLVM 的绑定来完成您的工作,据我所知,您有两种选择:Obj​​ective Caml 和 Haskell。如果还有其他人,那么我也想知道这些。

我不是在征求主观意见,所以请不要给这个subjective标签。我想对此做出自己的决定,但我不确定我是否知道所有的权衡取舍。所以,StackOverflow 来救场了。有哪些取舍?

0 投票
4 回答
3097 浏览

installation - 在 Vista 上安装 LLVM MinGW?

llvm.org我下载了 llvm-2.6-x86-mingw32.tar.bz2c:\llvm和 llvm-gcc-4.2-2.6-x86-mingw32-tar.bz2c:\llvm-gcc并设置了一个桌面快捷方式下面的批处理c:\llvm-gcc文件也尝试通过llvm-gcc命令行设置编译环境:

不幸的是,当试图编译一个简单的 hello world 程序时,这个设置给出了以下错误:

我简要浏览了 LLVM 二进制文件,似乎已经包含了基于 MinGW 的 Win32 API 和运行时文件。我也尝试添加 MinGW DLLc:\llvm-gcc\bin无济于事。

在 Vista 上设置二进制 LLVM 环境和基于 GCC 的前端时,我错过了什么?

谢谢,乔恩

0 投票
3 回答
10128 浏览

llvm - 从 c 程序调用 LLVM Jit

我已经使用 llvm.org 上的在线编译器生成了一个 bc 文件,我想知道是否可以从 ac 或 c++ 程序加载此 bc 文件,使用 llvm jit 执行 bc 文件中的 IR(以编程方式在c程序),并得到结果。

我怎样才能做到这一点?

0 投票
3 回答
2269 浏览

xcode - 如何在 Xcode 中查看 llvm 中间表示

我在 Xcode 3.2.1 上使用 clang-llvm 1.0 进行编译

我想看看 LLVM 的中间表示。我该怎么做呢 ?