Skip to content
0:00 / 0:00

#swiftintermediatelanguage#sil#llvm

🖇 Introduction to Swift Intermediate Language — Alex Blewitt

Swift London

752 subscribers • 1 video on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Alex Blewitt
  • Linked in the descriptionalblue/SILInspector

Advanced. Deep dive for people who know the field.

6.2K views10 years ago1 recommendation

Programming languagesSystems programmingSwiftCompilers and interpretersPerformance and optimization

Alex Blewitt explains how the Swift compiler uses Swift Intermediate Language to perform optimizations before generating machine code.

This talk was recorded at Swift London, a gathering for the Swift inclined. ❤️ Huge thanks to Novoda for helping it happen! 🌎 Find out more: swiftldn.co 🎪 Join our Slack: swiftlondonslack.herokuapp.com 🐦 Say hi on Twitter: twitter.com/swiftldn TALK DESCRIPTION Alex introduces us to the Swift Intermediate Language (SIL), showing how source code is compiled through SIL into machine executables. He looks at some of the optimisations that can occur with the Swift compiler, and what effect they have on the generated output. The talk demonstrates SIL with Swift 2 and the SIL Inspector, a small utility that wraps the output of the standard Swift command line tools (it's very cool!) You can check out the SIL Inspector here: github.com/alblue/SILInspector ALEX'S BIO Dr Alex Blewitt cut his teeth programming object-oriented systems using NeXTstep and Objective-C over 20 years ago. He migrated to OS X with the release of 10.0 and has been using it ever since. More recently, he has published the second edition of Swift Essentials, which updates the book from its original release in 2014 to the latest version of Swift. He can be found on Twitter @albue, and if the weather’s nice, you may spot him in the sky, flying near Cranfield airport. Twitter: twitter.com/alblue GitHub: github.com/alblue

Why it's here

1 person recommends this

What people say. Recommended as an excellent deep dive into the Swift compiler internals and Swift Intermediate Language.

u/adamnemecekin r/swift • Recommends

Introduction to Swift Intermediate Language — Alex Blewitt

u/mttdin r/ProgrammingLanguages • Mentions

On “A new compiler backend called Cranelift uses basic block parameters instead of phi nodes. How do the two approaches compare?”

…re - https://github.com/apple/swift/blob/master/docs/SIL.rst - https://github.com/apple/swift/blob/master/docs/HighLevelSILOptimizations.rst - https://github.com/apple/swift/blob/master/docs/Serialization.rst - Swift's High-Level IR: A Case Study of Complementing LLVM IR with Language-Specific Optimization - Joseph Groff & Chris Lattner, Apple - link to this video - http://llvm.org/devmtg/2015-10/slides/GroffLattner-SILHighLevelIR.pdf - Introduction to Swift Intermediate Language — Alex Blewitt - link to this video For another perspective, see also "Compiling with Continuations, or without? Whatever." (https://www.cs.purdue.edu/~rompf/papers/cong-preprint201811.pdf; where "Maurer et al. 19" refers to the…