YoVDO

Wrestling Python into LLVM Intermediate Representation

Offered By: EuroPython Conference via YouTube

Tags

EuroPython Courses Data Structures Courses Memory Management Courses Compiler Design Courses Type Inference Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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

Related Courses

NodeJS Unleashed: From Basics to Brilliance
Udemy
Write a Mini Game in Scala
Coursera Project Network via Coursera
Scala Applied, Part 1
Udemy
TypeScript Tutorial
YouTube
Haskell for Imperative Programmers
YouTube