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