llvm-gcc相关内容
我知道解析器生成的AST用于在前端生成IR。 我想知道如何解析AST,然后将其转换为IR(探测程序集或位码), AST是树,从AST到IR转换涉及哪些步骤。 推荐答案 发射LLVM IR from Clang ASTs发生在朗氏code gen阶段。此阶段的代码位于lib/CodeGen/中(相对于Clang的源根目录)。不需要解析AST,因为Clang在内存数据结构中具有
..
我正在绑定交叉编译,为此我需要找到 Xcode 放置 arm-gcc 编译器的位置. 它曾经在/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2 但在 Xcode 5 中消失了. 有什么想法吗?
..
如果我用 llvm-gcc 构建一个静态库,然后将它与使用 mingw gcc 编译的程序链接,结果会起作用吗? llvm-gcc、clang 和普通 gcc 的其他组合也是如此.我对这在 Linux(当然,使用普通的非 mingw gcc)和其他平台上的效果很感兴趣,但重点是 Windows. 我也对所有语言都感兴趣,但特别强调 C 和 C++ - 显然 clang 不支持 Fort
..
我有 64 位版本的 llvm-gcc,但我希望能够同时构建 32 位和 64 位二进制文件.有这方面的标志吗?我尝试传递 -m32(适用于常规 gcc),但收到如下错误消息: [jay@andesite]$ llvm-gcc -m32 test.c -o test警告:请求为 32 位处理器生成 64 位代码.警告:64 位处理器都至少具有 SSE2./tmp/cchzYo9t.s:汇编器
..
我有 64 位版本的 llvm-gcc,但我希望能够同时构建 32 位和 64 位二进制文件.有这方面的标志吗?我尝试传递 -m32(适用于常规 gcc),但收到如下错误消息: [jay@andesite]$ llvm-gcc -m32 test.c -o test警告:请求为 32 位处理器生成 64 位代码.警告:64 位处理器都至少具有 SSE2./tmp/cchzYo9t.s:汇编器
..
我有 64 位版本的 llvm-gcc,但我希望能够同时构建 32 位和 64 位二进制文件.有这方面的标志吗?我尝试传递 -m32(适用于常规 gcc),但收到如下错误消息: [jay@andesite]$ llvm-gcc -m32 test.c -o test警告:请求为 32 位处理器生成 64 位代码.警告:64 位处理器都至少具有 SSE2./tmp/cchzYo9t.s:汇编器
..
我有 64 位版本的 llvm-gcc,但我希望能够同时构建 32 位和 64 位二进制文件.有这方面的标志吗?我尝试传递 -m32(适用于常规 gcc),但收到如下错误消息: [jay@andesite]$ llvm-gcc -m32 test.c -o test警告:请求为 32 位处理器生成 64 位代码.警告:64 位处理器都至少具有 SSE2./tmp/cchzYo9t.s:汇编器
..
我需要告诉通行证在文件中查找特定功能.我想指定要在旅途中寻找的功能,即运行通行证时.知道我该怎么做吗?这有点像理论上向函数传递参数. 解决方案 使用 cl :: opt 添加命令行选项,并在运行密码时进行设置. 或者,如果要使用clang从C或C ++生成IR,则可以使用 __ attribute((__ annotate __(("foo"))))来标记您感兴趣的
..
使用XCode LLVM-GCC编译器,我得到了以下两个可以正常编译(和工作)的定义: #define SAVE_STACK(v)__ asm {mov v,ESP}#定义RESTORE_STACK __asm {sub ESP,s} 但是,当我将编译器更改为Apple LLVM时,出现以下错误: 在'asm'之后预期'(' 我将{}替换为(),但不能解决问题,我用Google搜索该
..
从GCC 4.6版开始,无法使用GCC-4.8.5打印回溯或stackdump,默认设置已更改为-fomit-frame-pointer.通过使用--enable-frame-pointer configure选项配置GCC,可以将默认值还原为-fno-omit-frame-pointer.因此,我使用下面的配置选项在自己的主目录中安装了GCC-4.5.3. 配置选项: ../gcc-4
..
我的应用程序正在模拟器和设备上构建并正常运行,但是我注意到由于某些原因,我的主目录中有一个重复的目录,也有一些重复的文件.因此,虽然我的主目录是/MyAppName,但/MyAppName/MyAppName中也有文件. 我小心地将所有非重复文件移出了子目录,删除了目录,并更新了Prefix Header和Info.plist文件的路径.我清理并构建了项目,但是从编译器中查找重复的子目录(已
..
我的环境:带有Xcode 4.2.1的Mac OS X v10.7.2 我正在尝试使用Xcode 4.2.1在Lion上构建ruby 1.9.3.我了解Xcode 4.2.1随附的基于llvm的gcc编译器存在问题.但是我正在尝试按照以下说明 http://goo.gl/Sc39g 来解决此问题.我可以走得更远,但是遇到了两个问题: #error,请在您的编译标志中添加-D_FILE_
..
使用Xcode 4.0.2 ,我有一个可以在模拟器中正确编译,链接和运行的目标.但是,当我为iOS设备编译并链接它时,出现以下(完整)链接器错误: Ld /Users/mike/Library/Developer/Xcode/DerivedData/FOObar-ezjrxybxyybadxguvscgaqtaelju/Build/Products/Debug-iphoneos/Framew
..
我一直在尝试使用我显然缺少一些东西,因为在我的目标文件旁边没有生成.gcno或.gcda文件.我尝试将设置添加到测试目标和应用程序目标中,但均无济于事.我第二眼注视着一切,似乎一切都井然有序.关于缺少什么的任何想法.预先感谢. 解决方案 不适用于llvm-gcc;您需要使用"LLVM Compiler 3.0"(又名clang). (我通过'llvm-gcc'标签假定您当前未使用它.)
..
我知道ARC和MRC的工作原理.但是在测试以下代码时我感到困惑.我不知道为什么会这样.为什么同一问题的调试模式和运行模式下的保留计数不同? NSMutableArray *a = [NSMutableArray array]; [a addObject:@"abc"]; NSLog(@" 1 Retain count is %ld", CFGetRetainCount
..
其他人报告无法此处,这促使我创建了此cov.c文件: #include int main (void) { int i; for (i = 1; i
..
据我所知,当我需要获取局部变量的行号时,我不得不寻找llvm.dbg.declare内在函数的调用并获取dbg元数据(因为AllocaInst本身不包含任何dbg信息).但是,似乎不能保证此CallInst是AllocaInst的下一条指令,并且我必须在指定的函数中遍历该指令,这效率很低.所以我想知道是否有AllocaInst直接获取llvm.dbg.declare指令的方法. 例如,在名为
..
从 llvm.org 中,我已将llvm-2.6-x86-mingw32.tar.bz2下载到和llvm-gcc-4.2-2.6-x86-mingw32-tar.bz2放入c:\llvm-gcc,并在c:\llvm-gcc中设置以下批处理文件的桌面快捷方式,该文件试图通过llvm-gcc命令设置编译环境.也行: @echo off color 0E echo Configuring LLVM
..
如果使用llvm-gcc或dragonegg,如何存储LLVM IR指令和源代码行之间的映射? 解决方案 内部LLVM IR调试信息应用于此目的.有关更多信息,请参见 http://llvm.org/docs/SourceLevelDebugging.html . llvm-gcc(和DragonEgg)将为您生成所有内容,只要在GIMPLE级别上可获得相同的信息即可.
..
我正在寻找与gcc的-D标志等效的LLVM(或clang),该标志在命令行中启用宏定义. 任何指针都很棒. 解决方案 来自clang --cc1 --help: ... -D Predefine the specified macro ... 根据经验,除非另有证明,否则假设Clang模拟GCC!
..