Serge « sans paille » Guelton
Compiler Engineer / Wood Craft Lover / RedHat employee
PackaginCon — 9 November 2021
.~= Fedora =~. Close to upstream philosophy Several Releases /:-------------:\\ . rawhide ~ Debian sid :-------------------:: . f33, f34, f35 :-----------/shhOHbmp---:\\ /-----------omMMMNNNMMD ---: Architectures :-----------sMMMMNMNMP. ---: . X86_64 :-----------:MMMdP------- ---\\ . arm ,------------:MMMd-------- ---: . aarch64 :------------:MMMd------- .---: . ppc64le :---- oNMMMMMMMMMNho .----: :-- .+shhhMMMmhhy++ .------/ . riscV :- -------:MMMd--------------: . mips :- --------/MMMd-------------; :- ------/hMMMy------------: Package :-- :dMNdhhdNMMNo------------; . RPM :---:sdNMMMMNds:------------: :------:://:-------------:: :---------------------://
A compiler Infrastructure
+---------------------+ +---------------+ | - Inlining | | - ADT | | - Unrolling | | - System | | - ... | | - STLExtra | | ______________| | - ... | | / Optimizations| | ____| +---------------------+ | /Core| +---------------+ +---------------------+ | X86, ARM, RiscV... + | ________| | /Backends| +---------------------+
+------------> mlir > ---------+ / \ +-----> lld \ / +--> flang LLVM >--+--> compiler-rt >--+ / \ \ / +--> polly +--> clang >-+ \ \ +-------------- +----------------+--> lldb / libomp >------------------+ libcxx > libunwind >
Pick your poison! We chose 2.
LLVM Ships two kinds of libraries
Minor releases should not break the ABI
Building with...
We chose 1.
Linking libLLVM.so is super-slow
We don't support multiple LLVM version at the same time, but...
Yeah! Tests! Breakage! Pain!
--
The LLVM logo is a stylized wyvern (a kind of dragon). Dragons have connotations of power, speed and intelligence, and can also be sleek, elegant, and modular (err, maybe not).