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