filmov
tv
2017 LLVM Developers’ Meeting: “Implementing Swift Generics ”
Показать описание
—
Implementing Swift Generics - Douglas Gregor, Slava Pestov and John McCall
Slides: Coming Soon
—
Swift is a safe and efficient systems language with support for generic programming via its static type system. Various existing implementations of generic programming use either a uniform runtime representation for values (e.g., Java generics) or compile-time monomorphization (e.g., C++, Rust). Swift takes a “dictionary-passing” approach, similar to type-classes in Haskell, using reified type metadata to allow generic code to abstract over the memory layout of data types and avoid boxing. In this talk, we will describe the compilation of Swift’s generics from the type checker down to LLVM IR lowering and interaction with the Swift runtime, illustrating the how the core representation of generics flows through the system, from answering type-checking queries to the calling convention of generic functions and runtime representation of the “dictionaries”.
—
Implementing Swift Generics - Douglas Gregor, Slava Pestov and John McCall
Slides: Coming Soon
—
Swift is a safe and efficient systems language with support for generic programming via its static type system. Various existing implementations of generic programming use either a uniform runtime representation for values (e.g., Java generics) or compile-time monomorphization (e.g., C++, Rust). Swift takes a “dictionary-passing” approach, similar to type-classes in Haskell, using reified type metadata to allow generic code to abstract over the memory layout of data types and avoid boxing. In this talk, we will describe the compilation of Swift’s generics from the type checker down to LLVM IR lowering and interaction with the Swift runtime, illustrating the how the core representation of generics flows through the system, from answering type-checking queries to the calling convention of generic functions and runtime representation of the “dictionaries”.
—
2017 LLVM Developers’ Meeting: “Implementing Swift Generics ”
2017 LLVM Developers’ Meeting: “GlobalISel: Past, Present, and Future ”
2017 LLVM Developers’ Meeting: T. Stellard “Building Your Product Around LLVM Releases ”
2017 LLVM Developers’ Meeting: N. Hawes & A. Lorenz “Adding Index‐While‐Building and ...'...
2017 LLVM Developers’ Meeting: M. Braun “Welcome to the back-end: The LLVM machine representation”...
2017 LLVM Developers’ Meeting: T. Edler Von Koch “Bringing link-time optimization to the ... ”...
2017 LLVM Developers’ Meeting: C. Chandrasekaran & M. Maggioni “Apple LLVM GPU Compiler ...”...
2017 LLVM Developers’ Meeting: S. Callanan “eval() in C++ ”
2018 LLVM Developers’ Meeting: M. Kruse “Loop Transformations in LLVM”
2017 LLVM Developers’ Meeting: J. Reagan “Porting OpenVMS using LLVM”
2017 LLVM Developers’ Meeting: “Writing Great Machine Schedulers ”
2017 LLVM Developers’ Meeting: . Finkel “The Type Sanitizer: Free Yourself from ... ”
2017 LLVM Developers’ Meeting: M. Ferguson “Enabling Parallel Computing in Chapel with ... ”
2017 LLVM Developers’ Meeting: “Compiling Android userspace and Linux kernel with LLVM ”
2017 LLVM Developers’ Meeting: M. Zolotukhin “LLVM Compile-Time: Challenges. Improvements... ”
2017 LLVM Developers’ Meeting: “DLVM: A Compiler Framework for Deep Learning DSLs ”
2017 LLVM Developers’ Meeting: M. Kruse “Scale, Robust and Regression-Free Loop Optimizations ...”...
2017 LLVM Developers’ Meeting: P. Hosek “Compiling cross-toolchains with CMake and runtimes build ”...
2017 LLVM Developers’ Meeting: R. Ueyama “lld: A Fast, Simple, and Portable Linker”
2017 LLVM Developers’ Meeting: J. Taneja “Exploiting and improving LLVM's data flow analysis .....
2017 LLVM Developers’ Meeting: F. Ricci “Porting LeakSanitizer: A Beginner's Guide ”
2017 LLVM Developers’ Meeting: A. Zaks “Vectorizing Loops with VPlan – Current State and Next Steps”...
2017 LLVM Developers’ Meeting: A. Kumar “Introsort based sorting function for libc++ ”
2017 LLVM Developers’ Meeting: J. Doerfert “Polyhedral Value & Memory Analysis ”
Комментарии