C++ links: compilers
See also: assembly (x86), compilers correctness
- A Tourist’s Guide to the LLVM Source Code - http://blog.regehr.org/archives/1453
- Computer Language Notes: Compilers and Interpreters - https://github.com/melling/ComputerLanguages/blob/master/compilers.org
- GCC Wiki - List of compiler books - https://gcc.gnu.org/wiki/ListOfCompilerBooks
- How To Write Shared Libraries - Ulrich Drepper - https://www.akkadia.org/drepper/dsohowto.pdf
- Jordan Rose (Swift team) recommendations - http://belkadan.com/blog/2015/11/Recommendations/
- Let’s Build A Simple Interpreter - https://ruslanspivak.com/lsbasi-part1/
- Life of an instruction in LLVM - http://eli.thegreenplace.net/2012/11/24/life-of-an-instruction-in-llvm
- Life of an instruction in Clang / LLVM - https://github.com/thegameg/llvm-life/
- LLVM - Chris Lattner, The Architecture of Open Source Applications - http://www.aosabook.org/en/llvm.html
- LLVM Tutorial: Kaleidoscope - http://llvm.org/docs/tutorial/
- Haskell version: http://www.stephendiehl.com/llvm/
- LLVM for Grad Students - http://adriansampson.net/blog/llvm.html
- Notes on Graph Algorithms Used in Optimizing Compilers - Carl Offner - http://www.cs.umb.edu/~offner/files/flow_graph.pdf
- Resources for Amateur Compiler Writers - http://c9x.me/compile/bib/
- Static Single Assignment (SSA) Book - http://ssabook.gforge.inria.fr/latest/book.pdf - https://gforge.inria.fr/scm/viewvc.php/ssabook/book/
- Testing LLVM - http://blog.regehr.org/archives/1450
- Tutorial: Creating an LLVM Backend for the Cpu0 Architecture - https://jonathan2251.github.io/lbd/
- Tutorial: Creating an LLVM Toolchain for the Cpu0 Architecture - http://jonathan2251.github.io/lbt/
- Validation & testing: http://web.cs.ucdavis.edu/~su/emi-project/
Compilers Call For Papers for Conferences, Workshops and Journals at WikiCFP - http://www.wikicfp.com/cfp/call?conference=compilers
Computer Architecture and Compilers Conference Map - http://archconfmap.com/
- ASPLOS: International Conference on Architectural Support for Programming Languages and Operating Systems - http://dblp.uni-trier.de/db/conf/asplos/
- CASES: Compilers, Architecture, and Synthesis for Embedded Systems - http://www.esweek.org/cases - http://dblp.uni-trier.de/db/conf/cases/
- CC: The International Conference on Compiler Construction - http://conf.researchr.org/series/CC - http://dblp.uni-trier.de/db/conf/cc/
- CGO: International Symposium on Code Generation and Optimization - http://cgo.org/ - http://dblp.uni-trier.de/db/conf/cgo/
- HPCA: International Symposium on High-Performance Computer Architecture - http://www.hpcaconf.org/ - http://dblp.uni-trier.de/db/conf/hpca/
- ICFP: International Conference on Functional Programming - http://icfpconference.org/ - http://dblp.uni-trier.de/db/conf/icfp/
- ISMM: International Symposium on Memory Management - http://www.sigplan.org/Conferences/ISMM/ - http://dblp.uni-trier.de/db/conf/iwmm/
- LCTES: Languages, Compilers, and Tools for Embedded Systems - http://lctes.org/ - http://dblp.uni-trier.de/db/conf/lctrts/
- OOPSLA: Object-Oriented Programming Systems, Languages and Applications - http://www.sigplan.org/Conferences/OOPSLA/ - http://dblp.uni-trier.de/db/conf/oopsla/
- PACT: International Conference on Parallel Architecture and Compilation - http://pactconf.org/ - http://dblp.uni-trier.de/db/conf/IEEEpact/
- PLDI: Programming Language Design and Implementation - http://www.sigplan.org/Conferences/PLDI/ - http://dblp.uni-trier.de/db/conf/pldi/
- POPL: Principles of Programming Languages - http://www.sigplan.org/Conferences/POPL/ - http://dblp.uni-trier.de/db/conf/popl/
- PPoPP: ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming - http://www.sigplan.org/Conferences/PPOPP/ - http://dblp.uni-trier.de/db/conf/ppopp/
- SAS: International Static Analysis Symposium - http://www.staticanalysis.org/ - http://dblp.uni-trier.de/db/conf/sas/
- SCOPES: International Workshop on Software and Compilers for Embedded Systems - http://www.scopesconf.org/ - http://dblp.uni-trier.de/db/conf/scopes/
- Advanced Compilers - John Regehr, University of Utah
- Weeks 1 and 2: http://blog.regehr.org/archives/1419
- Weeks 3-5: http://blog.regehr.org/archives/1428
- Compilers - Alex Aiken, Stanford OpenEdX
- Compilers - Hal Perkins, CSEP 501, UW CSE
- https://courses.cs.washington.edu/courses/csep501/
- Winter 2016 Homepage: https://courses.cs.washington.edu/courses/csep501/16wi/
- Winter 2016 Playlist: https://www.youtube.com/playlist?list=PLTPQEx-31JXhfAWGnGzwbfhB2zUB7Jd4C
- Winter 2016 Topics: https://courses.cs.washington.edu/courses/csep501/16wi/calendar/lecturelist.html
- Program Analysis and Reliability - Nick Sumner, CMPT 886, Spring 2015, SFU
- Compositional Decompilation using LLVM IR
- Pre-defined Compiler Macros - https://sourceforge.net/p/predef/wiki/
- Architectures - https://sourceforge.net/p/predef/wiki/Architectures/
- Compilers - https://sourceforge.net/p/predef/wiki/Compilers/
- Endianness - https://sourceforge.net/p/predef/wiki/Endianness/
- Language Standards - https://sourceforge.net/p/predef/wiki/Standards/
- Operating Systems - https://sourceforge.net/p/predef/wiki/OperatingSystems/
- Standard Libraries - https://sourceforge.net/p/predef/wiki/Libraries/
- Clang documentation - http://clang.llvm.org/docs/
- GCC online documentation - https://gcc.gnu.org/onlinedocs/
- Cynbe's GCC Debugging Hints - http://muq.org/~cynbe/gcc/
- Debugging Resources - http://muq.org/~cynbe/gcc/offsite-resources.html
- Comments on the Internals Manual - http://muq.org/~cynbe/gcc/gccint.html
- GCC Wiki - https://gcc.gnu.org/wiki
- Cynbe's GCC Debugging Hints - http://muq.org/~cynbe/gcc/
- LLVM documentation - http://llvm.org/docs/
- Visual C++ documentation
- LLVM - http://llvm.org/
- LLVM Developers' Meeting - http://llvm.org/devmtg/
- http://blog.llvm.org/
- http://llvmweekly.org/
- GCC (GNU Compiler Collection) - https://gcc.gnu.org/
- GNU Tools Cauldron - https://gcc.gnu.org/wiki#Events
- https://twitter.com/gnutools/
- Visual C++ - https://www.visualstudio.com/vs/cplusplus/
- Advanced C and C++ Compiling by Milan Stevanovic (2014)
"Engineering guide to C/C++ compiling, linking, and binary files structure" - An Evil Copy: How the Loader Betrays You - https://nebelwelt.net/publications/files/17NDSS.pdf
- Linkers - 20 part linker essay by Ian Lance Taylor - https://lwn.net/Articles/276782/
- Linkers and Loaders by John R. Levine (1999) - https://www.iecc.com/linker/
- Nick Desaulniers' posts
- Part 1 – Object Files and Symbols - http://nickdesaulniers.github.io/blog/2016/08/13/object-files-and-symbols/
- Part 2 – Static and Dynamic Libraries - http://nickdesaulniers.github.io/blog/2016/11/20/static-and-dynamic-libraries/
- The missing link: explaining ELF static linking, semantically - Stephen Kell, Dominic P. Mulligan, Peter Sewell - OOPSLA 2016
- Understanding the classical model for linking - Raymond Chen - https://blogs.msdn.microsoft.com/oldnewthing/tag/linker
- ALIVe: Automatic LLVM InstCombine Verifier
- Automatic Feedback Directed Optimizer (AutoFDO)
- Compiler Optimizations for Reverse Engineers by Rolf Rolles
- Compiler Optimization Options
- Devirtualization in C++ - https://hubicka.blogspot.com/search/label/devirtualization
- GoingNative 50: New Visual C++ Code Optimizer - https://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-50-New-Visual-C-Code-Optimizer
- Link time optimization (LTO) - https://hubicka.blogspot.com/search/label/link-time%20optimization
- GNU Superoptimizer Version 2 - https://github.com/embecosm/gso2
- Souper - a superoptimizer for LLVM IR - https://github.com/google/souper
- Stochastic Superoptimization - http://blog.regehr.org/archives/923
- STOKE: A stochastic superoptimizer and program synthesizer - http://stoke.stanford.edu - https://github.com/StanfordPL/stoke
- Superoptimizing Compilers - http://superoptimization.org/wiki/Superoptimizing_Compilers
- Superoptimization - James Pallister - FOSDEM 2015 - https://archive.fosdem.org/2015/schedule/event/superoptimization/
- Getting started with LLVM: the TL;DR version - Diana Picus
- LinaroOrg Connect San Francisco 2017 - SFO17
- https://connect.linaro.org/resource/sfo17/sfo17-110/
- LLVM Internals #2 – Renato Golin, Peter Smith, Diana Picus, Omair Javaid, Adhemerval Zanella
- Linaro Connect Budapest 2017 - BUD17-302
- http://connect.linaro.org/resource/bud17/bud17-302/
- Introduction to LLVM – Projects, Components, Integration, Internals - Renato Golin
- Linaro Connect Las Vegas 2016 - LAS16-501
- http://connect.linaro.org/resource/las16/las16-501/
- Anders Hejlsberg on Modern Compiler Construction
- Channel 9; May 12, 2016
- https://channel9.msdn.com/Blogs/Seth-Juarez/Anders-Hejlsberg-on-Modern-Compiler-Construction
- STOKE: Search-Based Compiler Optimization - Alex Aiken
- UCI CS Distinguished Lecture; April 29, 2016
- https://www.youtube.com/watch?v=rZFeTTFp7x4
- Understanding Compiler Optimization - Chandler Carruth
- Opening Keynote Meeting C++ 2015
- https://www.youtube.com/watch?v=FnGCDLhaxKU
- Stochastic Optimization for x86 Binaries - Eric Schkufza
- Google Tech Talks; January 12, 2015
- https://www.youtube.com/watch?v=aD9mZDJzb58
- Superoptimizing LLVM - John Regehr
- UW CSE Colloquium; December 2, 2014
- https://www.youtube.com/watch?v=Ux0YnVEaI6A
- Compiler Technologies - Jim Hogg
- Northwest C++ Users' Group; October 15, 2014
- http://nwcpp.org/october-2014.html
- Compiler Confidential - Eric Brumer
- leathers - Warning suppression library (C++) - https://github.com/ruslo/leathers
- Warnings list: https://github.com/ruslo/leathers/wiki/List