- 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
- C及C++程序設計(第4版)
- Learning Real-time Processing with Spark Streaming
- Java編程指南:基礎知識、類庫應用及案例設計
- C#程序設計教程
- Java持續交付
- INSTANT Mercurial SCM Essentials How-to
- Learning Python Design Patterns
- Java程序設計
- 零基礎學Python網絡爬蟲案例實戰全流程詳解(入門與提高篇)
- Selenium Testing Tools Cookbook(Second Edition)
- Mastering ROS for Robotics Programming
- C#程序設計教程(第3版)
- Android應用開發深入學習實錄
- 遠方:兩位持續創業者的點滴思考
- Learning Android Application Testing