1This file is a partial list of people who have contributed to the LLVM 2project. If you have contributed a patch or made some other contribution to 3LLVM, please submit a patch to this file to add yourself, and it will be 4done! 5 6The list is sorted by surname and formatted to allow easy grepping and 7beautification by scripts. The fields are: name (N), email (E), web-address 8(W), PGP key ID and fingerprint (P), description (D), snail-mail address 9(S), and (I) IRC handle. 10 11N: Vikram Adve 12E: vadve@cs.uiuc.edu 13W: http://www.cs.uiuc.edu/~vadve/ 14D: The Sparc64 backend, provider of much wisdom, and motivator for LLVM 15 16N: Owen Anderson 17E: resistor@mac.com 18D: LCSSA pass and related LoopUnswitch work 19D: GVNPRE pass, DataLayout refactoring, random improvements 20 21N: Henrik Bach 22D: MingW Win32 API portability layer 23 24N: Aaron Ballman 25E: aaron@aaronballman.com 26D: Clang frontend, frontend attributes, Windows support, general bug fixing 27I: AaronBallman 28 29N: Nate Begeman 30E: natebegeman@mac.com 31D: PowerPC backend developer 32D: Target-independent code generator and analysis improvements 33 34N: Daniel Berlin 35E: dberlin@dberlin.org 36D: ET-Forest implementation. 37D: Sparse bitmap 38 39N: Geoff Berry 40E: gberry@codeaurora.org 41E: gcb@acm.org 42D: AArch64 backend improvements 43D: Added EarlyCSE MemorySSA support 44D: CodeGen improvements 45 46N: David Blaikie 47E: dblaikie@gmail.com 48D: General bug fixing/fit & finish, mostly in Clang 49 50N: Neil Booth 51E: neil@daikokuya.co.uk 52D: APFloat implementation. 53 54N: Alex Bradbury 55E: asb@lowrisc.org 56D: RISC-V backend 57 58N: Misha Brukman 59E: brukman+llvm@uiuc.edu 60W: http://misha.brukman.net 61D: Portions of X86 and Sparc JIT compilers, PowerPC backend 62D: Incremental bitcode loader 63 64N: Cameron Buschardt 65E: buschard@uiuc.edu 66D: The `mem2reg' pass - promotes values stored in memory to registers 67 68N: Brendon Cahoon 69E: bcahoon@codeaurora.org 70D: Loop unrolling with run-time trip counts. 71 72N: Chandler Carruth 73E: chandlerc@gmail.com 74E: chandlerc@google.com 75D: Hashing algorithms and interfaces 76D: Inline cost analysis 77D: Machine block placement pass 78D: SROA 79 80N: Casey Carter 81E: ccarter@uiuc.edu 82D: Fixes to the Reassociation pass, various improvement patches 83 84N: Evan Cheng 85E: evan.cheng@apple.com 86D: ARM and X86 backends 87D: Instruction scheduler improvements 88D: Register allocator improvements 89D: Loop optimizer improvements 90D: Target-independent code generator improvements 91 92N: Dan Villiom Podlaski Christiansen 93E: danchr@gmail.com 94E: danchr@cs.au.dk 95W: http://villiom.dk 96D: LLVM Makefile improvements 97D: Clang diagnostic & driver tweaks 98S: Aarhus, Denmark 99 100N: Jeff Cohen 101E: jeffc@jolt-lang.org 102W: http://jolt-lang.org 103D: Native Win32 API portability layer 104 105N: John T. Criswell 106E: criswell@uiuc.edu 107D: Original Autoconf support, documentation improvements, bug fixes 108 109N: Anshuman Dasgupta 110E: adasgupt@codeaurora.org 111D: Deterministic finite automaton based infrastructure for VLIW packetization 112 113N: Stefanus Du Toit 114E: stefanus.du.toit@intel.com 115D: Bug fixes and minor improvements 116 117N: Rafael Avila de Espindola 118E: rafael@espindo.la 119D: MC and LLD work 120 121N: Dave Estes 122E: cestes@codeaurora.org 123D: AArch64 machine description for Cortex-A53 124 125N: Alkis Evlogimenos 126E: alkis@evlogimenos.com 127D: Linear scan register allocator, many codegen improvements, Java frontend 128 129N: Hal Finkel 130E: hfinkel@anl.gov 131D: Basic-block autovectorization, PowerPC backend improvements 132 133N: Eric Fiselier 134E: eric@efcs.ca 135D: LIT patches and documentation. 136 137N: Ryan Flynn 138E: pizza@parseerror.com 139D: Miscellaneous bug fixes 140 141N: Brian Gaeke 142E: gaeke@uiuc.edu 143W: http://www.students.uiuc.edu/~gaeke/ 144D: Portions of X86 static and JIT compilers; initial SparcV8 backend 145D: Dynamic trace optimizer 146D: FreeBSD/X86 compatibility fixes, the llvm-nm tool 147 148N: Nicolas Geoffray 149E: nicolas.geoffray@lip6.fr 150W: http://www-src.lip6.fr/homepages/Nicolas.Geoffray/ 151D: PPC backend fixes for Linux 152 153N: Louis Gerbarg 154E: lgg@apple.com 155D: Portions of the PowerPC backend 156 157N: Saem Ghani 158E: saemghani@gmail.com 159D: Callgraph class cleanups 160 161N: Mikhail Glushenkov 162E: foldr@codedgers.com 163D: Author of llvmc2 164 165N: Dan Gohman 166E: sunfish@mozilla.com 167D: Miscellaneous bug fixes 168D: WebAssembly Backend 169 170N: David Goodwin 171E: david@goodwinz.net 172D: Thumb-2 code generator 173 174N: David Greene 175E: greened@obbligato.org 176D: Miscellaneous bug fixes 177D: Register allocation refactoring 178 179N: Gabor Greif 180E: ggreif@gmail.com 181D: Improvements for space efficiency 182 183N: James Grosbach 184E: grosbach@apple.com 185I: grosbach 186D: SjLj exception handling support 187D: General fixes and improvements for the ARM back-end 188D: MCJIT 189D: ARM integrated assembler and assembly parser 190D: Led effort for the backend formerly known as ARM64 191 192N: Lang Hames 193E: lhames@gmail.com 194D: PBQP-based register allocator 195 196N: Gordon Henriksen 197E: gordonhenriksen@mac.com 198D: Pluggable GC support 199D: C interface 200D: Ocaml bindings 201 202N: Raul Fernandes Herbster 203E: raul@dsc.ufcg.edu.br 204D: JIT support for ARM 205 206N: Paolo Invernizzi 207E: arathorn@fastwebnet.it 208D: Visual C++ compatibility fixes 209 210N: Patrick Jenkins 211E: patjenk@wam.umd.edu 212D: Nightly Tester 213 214N: Tony(Yanjun) Jiang 215E: jtony@ca.ibm.com 216D: PowerPC Backend Developer 217D: Improvements to the PPC backend and miscellaneous bug fixes 218 219N: Dale Johannesen 220E: dalej@apple.com 221D: ARM constant islands improvements 222D: Tail merging improvements 223D: Rewrite X87 back end 224D: Use APFloat for floating point constants widely throughout compiler 225D: Implement X87 long double 226 227N: Brad Jones 228E: kungfoomaster@nondot.org 229D: Support for packed types 230 231N: Rod Kay 232E: rkay@auroraux.org 233D: Author of LLVM Ada bindings 234 235N: Erich Keane 236E: erich.keane@intel.com 237D: A variety of Clang contributions including function multiversioning, regcall/vectorcall. 238I: ErichKeane 239 240N: Eric Kidd 241W: http://randomhacks.net/ 242D: llvm-config script 243 244N: Anton Korobeynikov 245E: anton at korobeynikov dot info 246D: Mingw32 fixes, cross-compiling support, stdcall/fastcall calling conv. 247D: x86/linux PIC codegen, aliases, regparm/visibility attributes 248D: Switch lowering refactoring 249 250N: Sumant Kowshik 251E: kowshik@uiuc.edu 252D: Author of the original C backend 253 254N: Benjamin Kramer 255E: benny.kra@gmail.com 256D: Miscellaneous bug fixes 257 258N: Sundeep Kushwaha 259E: sundeepk@codeaurora.org 260D: Implemented DFA-based target independent VLIW packetizer 261 262N: Christopher Lamb 263E: christopher.lamb@gmail.com 264D: aligned load/store support, parts of noalias and restrict support 265D: vreg subreg infrastructure, X86 codegen improvements based on subregs 266D: address spaces 267 268N: Jim Laskey 269E: jlaskey@apple.com 270D: Improvements to the PPC backend, instruction scheduling 271D: Debug and Dwarf implementation 272D: Auto upgrade mangler 273D: llvm-gcc4 svn wrangler 274 275N: Chris Lattner 276E: sabre@nondot.org 277W: http://nondot.org/~sabre/ 278D: Primary architect of LLVM 279 280N: Tanya Lattner (Tanya Brethour) 281E: tonic@nondot.org 282W: http://nondot.org/~tonic/ 283D: The initial llvm-ar tool, converted regression testsuite to dejagnu 284D: Modulo scheduling in the SparcV9 backend 285D: Release manager (1.7+) 286 287N: Sylvestre Ledru 288E: sylvestre@debian.org 289W: http://sylvestre.ledru.info/ 290W: https://apt.llvm.org/ 291D: Debian and Ubuntu packaging 292D: Continuous integration with jenkins 293 294N: Andrew Lenharth 295E: alenhar2@cs.uiuc.edu 296W: http://www.lenharth.org/~andrewl/ 297D: Alpha backend 298D: Sampling based profiling 299 300N: Nick Lewycky 301E: nicholas@mxc.ca 302D: PredicateSimplifier pass 303 304N: Tony Linthicum, et. al. 305E: tlinth@codeaurora.org 306D: Backend for Qualcomm's Hexagon VLIW processor. 307 308N: Bruno Cardoso Lopes 309E: bruno.cardoso@gmail.com 310I: bruno 311W: http://brunocardoso.cc 312D: Mips backend 313D: Random ARM integrated assembler and assembly parser improvements 314D: General X86 AVX1 support 315 316N: Duraid Madina 317E: duraid@octopus.com.au 318W: http://kinoko.c.u-tokyo.ac.jp/~duraid/ 319D: IA64 backend, BigBlock register allocator 320 321N: John McCall 322E: rjmccall@apple.com 323D: Clang semantic analysis and IR generation 324 325N: Michael McCracken 326E: michael.mccracken@gmail.com 327D: Line number support for llvmgcc 328 329N: Vladimir Merzliakov 330E: wanderer@rsu.ru 331D: Test suite fixes for FreeBSD 332 333N: Scott Michel 334E: scottm@aero.org 335D: Added STI Cell SPU backend. 336 337N: Kai Nacke 338E: kai@redstar.de 339D: Support for implicit TLS model used with MS VC runtime 340D: Dumping of Win64 EH structures 341 342N: Takumi Nakamura 343I: chapuni 344E: geek4civic@gmail.com 345E: chapuni@hf.rim.or.jp 346D: Maintaining the Git monorepo 347W: https://github.com/llvm-project/ 348S: Ebina, Japan 349 350N: Edward O'Callaghan 351E: eocallaghan@auroraux.org 352W: http://www.auroraux.org 353D: Add Clang support with various other improvements to utils/NewNightlyTest.pl 354D: Fix and maintain Solaris & AuroraUX support for llvm, various build warnings 355D: and error clean ups. 356 357N: Morten Ofstad 358E: morten@hue.no 359D: Visual C++ compatibility fixes 360 361N: Jakob Stoklund Olesen 362E: stoklund@2pi.dk 363D: Machine code verifier 364D: Blackfin backend 365D: Fast register allocator 366D: Greedy register allocator 367 368N: Richard Osborne 369E: richard@xmos.com 370D: XCore backend 371 372N: Piotr Padlewski 373E: piotr.padlewski@gmail.com 374D: !invariant.group metadata and other intrinsics for devirtualization in clang 375 376N: Devang Patel 377E: dpatel@apple.com 378D: LTO tool, PassManager rewrite, Loop Pass Manager, Loop Rotate 379D: GCC PCH Integration (llvm-gcc), llvm-gcc improvements 380D: Optimizer improvements, Loop Index Split 381 382N: Ana Pazos 383E: apazos@codeaurora.org 384D: Fixes and improvements to the AArch64 backend 385 386N: Wesley Peck 387E: peckw@wesleypeck.com 388W: http://wesleypeck.com/ 389D: MicroBlaze backend 390 391N: Francois Pichet 392E: pichet2000@gmail.com 393D: MSVC support 394 395N: Adrian Prantl 396E: aprantl@apple.com 397D: Debug Information 398 399N: Vladimir Prus 400W: http://vladimir_prus.blogspot.com 401E: ghost@cs.msu.su 402D: Made inst_iterator behave like a proper iterator, LowerConstantExprs pass 403 404N: Kalle Raiskila 405E: kalle.rasikila@nokia.com 406D: Some bugfixes to CellSPU 407 408N: Xerxes Ranby 409E: xerxes@zafena.se 410D: Cmake dependency chain and various bug fixes 411 412N: Alex Rosenberg 413E: alexr@leftfield.org 414I: arosenberg 415D: ARM calling conventions rewrite, hard float support 416 417N: Chad Rosier 418E: mcrosier@codeaurora.org 419I: mcrosier 420D: AArch64 fast instruction selection pass 421D: Fixes and improvements to the ARM fast-isel pass 422D: Fixes and improvements to the AArch64 backend 423 424N: Nadav Rotem 425E: nadav.rotem@me.com 426D: X86 code generation improvements, Loop Vectorizer, SLP Vectorizer 427 428N: Roman Samoilov 429E: roman@codedgers.com 430D: MSIL backend 431 432N: Duncan Sands 433E: baldrick@free.fr 434I: baldrick 435D: Ada support in llvm-gcc 436D: Dragonegg plugin 437D: Exception handling improvements 438D: Type legalizer rewrite 439 440N: Ruchira Sasanka 441E: sasanka@uiuc.edu 442D: Graph coloring register allocator for the Sparc64 backend 443 444N: Arnold Schwaighofer 445E: arnold.schwaighofer@gmail.com 446D: Tail call optimization for the x86 backend 447 448N: Shantonu Sen 449E: ssen@apple.com 450D: Miscellaneous bug fixes 451 452N: Anand Shukla 453E: ashukla@cs.uiuc.edu 454D: The `paths' pass 455 456N: Michael J. Spencer 457E: bigcheesegs@gmail.com 458D: Shepherding Windows COFF support into MC. 459D: Lots of Windows stuff. 460 461N: Reid Spencer 462E: rspencer@reidspencer.com 463W: http://reidspencer.com/ 464D: Lots of stuff, see: http://wiki.llvm.org/index.php/User:Reid 465 466N: Alp Toker 467E: alp@nuanti.com 468W: http://atoker.com/ 469D: C++ frontend next generation standards implementation 470 471N: Craig Topper 472E: craig.topper@gmail.com 473D: X86 codegen and disassembler improvements. AVX2 support. 474 475N: Edwin Torok 476E: edwintorok@gmail.com 477D: Miscellaneous bug fixes 478 479N: Adam Treat 480E: manyoso@yahoo.com 481D: C++ bugs filed, and C++ front-end bug fixes. 482 483N: Andrew Trick 484E: atrick@apple.com 485D: Instruction Scheduling, ... 486 487N: Lauro Ramos Venancio 488E: lauro.venancio@indt.org.br 489D: ARM backend improvements 490D: Thread Local Storage implementation 491 492N: Bill Wendling 493I: wendling 494E: isanbard@gmail.com 495D: Release manager, IR Linker, LTO 496D: Bunches of stuff 497 498N: Bob Wilson 499E: bob.wilson@acm.org 500D: Advanced SIMD (NEON) support in the ARM backend. 501 502N: QingShan Zhang 503E: qshanz@cn.ibm.com 504D: PowerPC Backend Developer 505