ycliper

Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
Скачать

How Compilers Work: Introduction to LLVM Passes - Andrzej Warzynski - C++ on Sea 2022

Автор: cpponsea

Загружено: 2022-08-24

Просмотров: 3628

Описание: C++ on Sea Website: https://cpponsea.uk/
C++ on Sea Twitter:   / cpponsea  
---

How Compilers Work: Introduction to LLVM Passes - Andrzej Warzynski - C++ on Sea 2022
Slides: https://github.com/philsquared/cppons...

LLVM is a compiler infrastructure project most known for Clang - the C and C++ compiler frontend. In this presentation, I will show how to develop an LLVM pass - the key component in any code transformation, optimisation or analysis used by LLVM. The goal of this talk is to present the full workflow - C++ implementation, CMake set-up, execution and testing.

LLVM provides a remarkably powerful and expressive modern C++ API for code analysis and transformation. It is a great environment for learning how compilers work and for experimenting with various ideas around code generation and programming languages. In a few relatively simple steps, LLVM allows one to build a simple code analysis tool. In this talk, I would like to showcase this and provide the required building blocks so that further experimenting becomes easy. I will walk through the infrastructure available in LLVM, present a few interesting example passes and demonstrate how to build and maintain them out-of-tree (i.e. without requiring or making any changes to the LLVM codebase).

I will also demonstrate how to build a standalone LLVM-based analysis tool as well as how to set up LLVM compiler tests to maintain correctness. All examples will be demonstrated live.

This is a tutorial for aspiring LLVM developers as well as those interested in learning more about how modern compilers work. It is a self-contained crash-course that does not require any prior knowledge about compilers or LLVM. Some familiarity with CMake and LLVM IR (or any other assembly language) will be helpful, but is not essential. The presented examples don't require building LLVM from sources and can be tested with the pre-build packages available online. All examples are available on GitHub: https://github.com/banach-space/llvm-...
Content:
Background information and development set-up
Implementing and registering a pass (including CMake set-up)
Examples of analysis and transformation passes
Running and debugging an out-of-tree pass
Integrating a pass into an out-of-tree LLVM-based tool
Integration with clang/opt/bugpoint
Setting up and running LIT tests for out-of-tree passes
---

Andrzej Warzynski

Contributor to LLVM, FOSS enthusiast, author and maintainer of popular LLVM and Clang tutorials. Compiler engineer at Arm. Aspiring highlander.
---

C++ on Sea is an annual C++ and coding conference, in Folkestone, in the UK. The 2022 conference was conducted as a two part, physical and online C++ event.
Annual C++ on Sea, C++ conference: https://cpponsea.uk/
2022 Program: https://cpponsea.uk/2022/schedule/
---

Produced and Edited by Digital Medium Ltd: https://events.digital-medium.co.uk
Enquiries: [email protected]

#Programming​ #Cpp​ #CppOnSea​

Не удается загрузить Youtube-плеер. Проверьте блокировку Youtube в вашей сети.
Повторяем попытку...
How Compilers Work: Introduction to LLVM Passes - Andrzej Warzynski - C++ on Sea 2022

Поделиться в:

Доступные форматы для скачивания:

Скачать видео

  • Информация по загрузке:

Скачать аудио

Похожие видео

Recipes for Reducing Allocations by C++ Containers - Lukas Böger - C++ on Sea 2022

Recipes for Reducing Allocations by C++ Containers - Lukas Böger - C++ on Sea 2022

EuroLLVM Dev Mtg 2022 «Бэкенд LLVM-MOS 6502: Взрыв в прошлом»

EuroLLVM Dev Mtg 2022 «Бэкенд LLVM-MOS 6502: Взрыв в прошлом»

Надоели файлы? Вот, пожалуйста, сокеты • C • Live coding

Надоели файлы? Вот, пожалуйста, сокеты • C • Live coding

Почему LLVM меняет правила игры для компиляторов

Почему LLVM меняет правила игры для компиляторов

How the Rust Compiler Works, a Deep Dive

How the Rust Compiler Works, a Deep Dive

Арестович & Шелест: День 1454. Дневник войны. Сбор для военных👇

Арестович & Шелест: День 1454. Дневник войны. Сбор для военных👇

How LLVM & Clang work

How LLVM & Clang work

Understanding Compiler Optimization - Chandler Carruth - Opening Keynote Meeting C++ 2015

Understanding Compiler Optimization - Chandler Carruth - Opening Keynote Meeting C++ 2015

OpenClaw: чит-код для продуктивности или подарок хакерам?

OpenClaw: чит-код для продуктивности или подарок хакерам?

LLVM против GCC: какой компилятор ПРАВИТ будущим программирования?

LLVM против GCC: какой компилятор ПРАВИТ будущим программирования?

Advanced Topics: LLVM Compiler Passes

Advanced Topics: LLVM Compiler Passes

2014 LLVM Developers’ Meeting: “Building an LLVM Backend ”

2014 LLVM Developers’ Meeting: “Building an LLVM Backend ”

Как устроена компьютерная графика? OpenGL / C++

Как устроена компьютерная графика? OpenGL / C++

Modernizing Compiler Design for Carbon Toolchain - Chandler Carruth - CppNow 2023

Modernizing Compiler Design for Carbon Toolchain - Chandler Carruth - CppNow 2023

Introduction to LLVM Passes

Introduction to LLVM Passes

Настоящая «Матрица» никогда не была зелёной?

Настоящая «Матрица» никогда не была зелёной?

Lightning Talk: How to Cook Your CPU with C++ - Conor Spilsbury - C++ on Sea 2025

Lightning Talk: How to Cook Your CPU with C++ - Conor Spilsbury - C++ on Sea 2025

Сможет ли Кремль победить Telegram, и почему Дуров не уступит. Михаил Фишман

Сможет ли Кремль победить Telegram, и почему Дуров не уступит. Михаил Фишман

2019 LLVM Developers’ Meeting: E. Christopher & J. Doerfert “Introduction to  LLVM”

2019 LLVM Developers’ Meeting: E. Christopher & J. Doerfert “Introduction to LLVM”

Midnote: For the Sake of Complexity - Kevlin Henney - C++ on Sea 2022

Midnote: For the Sake of Complexity - Kevlin Henney - C++ on Sea 2022

© 2025 ycliper. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]