Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Wrestling Python into LLVM Intermediate Representation

EuroPython Conference via YouTube

Overview

Explore a 26-minute conference talk from EuroPython 2016 that delves into the process of translating Python into LLVM Intermediate Representation (LLVM-IR). Learn about the LLVM Project's platform-independent IR and its potential applications for Python. Discover the speaker's approach to creating a simple, static one-pass compiler called PyLLVM, which focuses on compiling a subset of Python for use in the TupleWare analytical framework. Gain insights into compiler design, LLVM-IR features, and implementation challenges such as types, scoping, and memory management. Compare PyLLVM to Numba, another Python-to-LLVM compiler, and get a glimpse into the future developments of PyLLVM.

Syllabus

Intro
Outline
Motivation: Tupleware
Motivation: The LLVM Compiler Infrastructure Project
Mission: Python and Tupleware
Example Tupleware Usage
Tupleware Library Implementation
PYLLVM: Overview of Design
Static Single Assignment
Scoping and Variables
Inferring Types
Numerical Values
Vectors
Lists (WIP)
Strings
Function Definitions
Function Arguments
Intrinsic Functions
Analysis: Usability
Analysis: Benchmarking
Analysis: Executable Runtime
Results
Conclusion
Acknowledgements

Taught by

EuroPython Conference

Reviews

Start your review of Wrestling Python into LLVM Intermediate Representation

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.