问题标签 [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.
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。
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 等之间的区别吗?人。并解释它们是什么以及我们应该何时使用它们以及用于什么目的?有更详细解释的链接会很好,但我真的只是在寻找高级概述。
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.
c - 如何通过#define 指令检测 LLVM 及其版本?
我认为这个问题很清楚。我正在尝试编写一个编译器检测标头,以便能够在应用程序中包含有关使用哪个编译器和哪个版本的信息。
这是我正在使用的代码的一部分:
可以这样使用:
有什么方法可以检测 LLVM 及其版本吗?还有叮当声?
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 集成吗?
只是覆盖文件似乎有点冒险。
haskell - 在选择用于 LLVM 的函数式编程语言时,有哪些取舍?
让我们暂时假设 C++ 不是函数式编程语言。如果您想为后端使用 LLVM 编写编译器,并且您想使用函数式编程语言及其与 LLVM 的绑定来完成您的工作,据我所知,您有两种选择:Objective Caml 和 Haskell。如果还有其他人,那么我也想知道这些。
我不是在征求主观意见,所以请不要给这个subjective
标签。我想对此做出自己的决定,但我不确定我是否知道所有的权衡取舍。所以,StackOverflow 来救场了。有哪些取舍?
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 的前端时,我错过了什么?
谢谢,乔恩
llvm - 从 c 程序调用 LLVM Jit
我已经使用 llvm.org 上的在线编译器生成了一个 bc 文件,我想知道是否可以从 ac 或 c++ 程序加载此 bc 文件,使用 llvm jit 执行 bc 文件中的 IR(以编程方式在c程序),并得到结果。
我怎样才能做到这一点?
xcode - 如何在 Xcode 中查看 llvm 中间表示
我在 Xcode 3.2.1 上使用 clang-llvm 1.0 进行编译
我想看看 LLVM 的中间表示。我该怎么做呢 ?