- LLVM Essentials
- Suyog Sarda Mayur Pandey
- 227字
- 2021-07-30 09:55:52
Chapter 1. Playing with LLVM
The LLVM Compiler infrastructure project, started in 2000 in University of Illinois, was originally a research project to provide modern, SSA based compilation technique for arbitrary static and dynamic programming languages. Now it has grown to be an umbrella project with many sub projects within it, providing a set of reusable libraries having well defined interfaces.
LLVM is implemented in C++ and the main crux of it is the LLVM core libraries it provides. These libraries provide us with opt tool, the target independent optimizer, and code generation support for various target architectures. There are other tools which make use of core libraries, but our main focus in the book will be related to the three mentioned above. These are built around LLVM Intermediate Representation (LLVM IR), which can almost map all the high-level languages. So basically, to use LLVM's optimizer and code generation technique for code written in a certain programming language, all we need to do is write a frontend for a language that takes the high level language and generates LLVM IR. There are already many frontends available for languages such as C, C++, Go, Python, and so on. We will cover the following topics in this chapter:
- Modular design and collection of libraries
- Getting familiar with LLVM IR
- LLVM Tools and using them at command line
- Vue 3移動Web開發與性能調優實戰
- Java多線程編程實戰指南:設計模式篇(第2版)
- 深入淺出Electron:原理、工程與實踐
- Building Mobile Applications Using Kendo UI Mobile and ASP.NET Web API
- 微信公眾平臺開發:從零基礎到ThinkPHP5高性能框架實踐
- 從學徒到高手:汽車電路識圖、故障檢測與維修技能全圖解
- Mastering Ext JS
- R大數據分析實用指南
- Learning jQuery(Fourth Edition)
- ArcGIS for Desktop Cookbook
- Go語言編程
- 新印象:解構UI界面設計
- Xcode 6 Essentials
- Python數據可視化之美:專業圖表繪制指南(全彩)
- MATLAB 2020 GUI程序設計從入門到精通