-
每个 C 语言程序员都应该知道的未定义行为 #1/3
人们偶尔会问,为什么 LLVM 编译的代码在开启优化器后有时会产生 SIGTRAP 信号。深入研究后,他们发现 Clang 生成了一个“ud2”指令(假设 X86 代码)——与 __builtin_trap() 生成的指令相同。
阅读更多… -
正则表达式命令
LLDB 用户们,大家好。我想开始定期发布关于 LLDB 中新功能和酷炫功能的博客文章。今天我将从一个刚添加的功能开始:正则表达式命令。
阅读更多… -
LLVM 开发者会议 2010
2010 年的 LLVM 开发者会议已经结束,这是一个很棒的活动。它有 17 个精彩的演讲,多个非正式讨论环节,以及所有对 LLVM 及其子项目感兴趣的人之间的许多非正式讨论。
阅读更多… -
ClamAV 中的 LLVM
在 0.96 版本中,ClamAV 防病毒系统扩展了其内部字节码解释器以支持 LLVM JIT 编译器。此 JIT 编译器允许提高执行速度,但也提供了直接在 C 代码中编写病毒检查的功能。
阅读更多… -
TCE 项目:基于 LLVM 编译支持的应用专用处理器协同设计
基于 TTA 的协同设计环境 (TCE) 是一个应用专用指令集处理器 (ASIP) 设计工具集,自 2003 年以来在坦佩雷理工大学的多个研究项目中开发。这篇博文介绍了该项目以及如何使用 LLVM 为设计的 ASIP 提供高级语言编译器支持。
阅读更多… -
新的“lldb”调试器
我很高兴地宣布 LLVM 的一个伟大的新子项目:LLDB。LLDB 是一个现代调试器基础设施,它(像 LLVM 的其他部分一样)构建为一系列模块化和可重用库。
阅读更多… -
LLVM 获得首个 SIGPLAN 软件系统奖
今天,ACM 宣布 Chris Lattner 和 LLVM 项目获得了编程语言软件奖。该奖项表彰了 LLVM 对编译器研究界的影响,这可以从大量使用 LLVM 的研究出版物以及使用 LLVM 教授编译器构建和优化技术的编译器课程数量中看出来。
阅读更多… -
Clang++ 构建 Boost!
Boost 是一个开源的、经过同行评审的 C++ 库集合,它以拥有许多对 C++ 程序员有用的实用组件而闻名。它也以使用最前沿的 C++ 技术而闻名,例如广泛的模板和预处理器元编程,这些技术已经将许多 C++ 编译器推到了崩溃的边缘。
阅读更多… -
Glasgow Haskell 编译器和 LLVM
如果你仔细阅读 LLVM 2.7 的发行说明,你会注意到,新的外部用户之一是 Glasgow Haskell 编译器 (GHC)。作为 GHC LLVM 后端的作者,我被邀请撰写一篇博文,详细介绍后端的设计以及我使用 LLVM 的经验。
阅读更多… -
新的“libc++” C++ 标准库
我很高兴地宣布 LLVM 的一个新子项目:“libc++”。libc++ 是 C++ 标准库的实现,它专注于标准合规性、高效的生成代码,并旨在支持 C++'0x(当标准被批准时)。
阅读更多…