官术网_书友最值得收藏!

Understanding LLVM versions

The LLVM project is updated at a fast pace, thanks to the contribution of many programmers. By Version 3.4, its SVN (subversion, the version control system employed) repository tallied over 200,000 commits, while its first release happened over 10 years ago. In 2013 alone, the project had almost 30,000 new commits. As a consequence, new features are constantly being introduced and other features are rapidly getting outdated. As in any big project, the developers need to obey a tight schedule to release stable checkpoints when the project is working well and passes a variety of tests, allowing users to experience the newest features with the comfort of using a well-tested version.

Throughout its history, the LLVM project has employed the strategy of releasing two stable versions per year. Each one of them incremented the minor revision number by 1. For example, an update from version 3.3 to version 3.4 is a minor version update. Once the minor number reaches 9, the next version will then increment the major revision number by 1, as when LLVM 3.0 succeeded LLVM 2.9. Major revision number updates are not necessarily a big change in comparison with its predecessor version, but they represent roughly five years of progress in the development of the compiler if compared with the latest major revision number update.

It is common practice for projects that depend on LLVM to use the trunk version, that is, the most updated version of the project available in the SVN repository, at the cost of using a version that is possibly unstable. Recently, beginning with version 3.4, the LLVM community started an effort to produce point releases, introducing a new revision number. The first product of this effort was LLVM 3.4.1. The goal of point releases is to backport bug fixes from trunk to the latest tagged version with no new features, thus maintaining full compatibility. The point releases should happen after three months of the last release. Since this new system is still in its infancy, we will focus on installing LLVM 3.4 in this chapter. The number of prebuilt packages for LLVM 3.4 is larger, but you should be able to build LLVM 3.4.1, or any other version, with no problems by following our instructions.

主站蜘蛛池模板: 遵义市| 凤庆县| 梁河县| 安化县| 涟源市| 汶上县| 七台河市| 兴和县| 昭通市| 龙里县| 墨玉县| 巴林左旗| 开化县| 邳州市| 金溪县| 西乌| 许昌县| 五家渠市| 临夏市| 松桃| 大城县| 仪陇县| 南木林县| 科技| 平顶山市| 子长县| 太仓市| 崇仁县| 吉安市| 湖北省| 宿州市| 高碑店市| 堆龙德庆县| 垦利县| 芒康县| 密山市| 湘阴县| 洞头县| 松溪县| 渑池县| 车致|