YoVDO

Generating Better Machine Code with SSA

Offered By: Gopher Academy via YouTube

Tags

GopherCon Courses Syntax Trees Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the advancements in Go's machine-code generation over a two-year period in this 35-minute conference talk from GopherCon 2017. Delve into the implementation of Static Single Assignment (SSA) representation and its role in enabling a wide range of new optimizations. Gain insights into the compiler's performance across different architectures, including amd64 and arm. Learn about key optimization algorithms such as Common Subexpression Elimination, Dead Store Elimination, and Bounds Check Elimination. Discover how rewrite rules contribute to compiler improvements and simplify porting to new architectures. Get ready for an in-depth look at Go's compiler internals, with some assembly knowledge recommended.

Syllabus

Generating better machine code with SSA
Timeline
amd64 - launched in Go 1.7
Compiler speed
The amd64 compiler is 10% slower.
The arm compiler is 10% faster!
Syntax tree
CFG - Control Flow Graph
SSA enables fast, accurate optimization algorithms for
Common Subexpression Elimination
Dead Store Elimination
Bounds Check Elimination
Rewrite rules can get pretty complicated
Rewrite rules make new ports easy!


Taught by

Gopher Academy

Related Courses

Introduction to Metaprogramming in Julia - JuliaCon 2021 Workshop
The Julia Programming Language via YouTube
Artisanal, Machine-Generated API Libraries
Strange Loop Conference via YouTube
Pattern Matching at Scale Using Finite State Machine
Strange Loop Conference via YouTube
It's All About the Goto
PHP UK Conference via YouTube
Writing Code with Code - Getting Started with the Roslyn APIs
NDC Conferences via YouTube