CREDITS.TXT revision ce07e99dd6fafc51805c21d53286ae5765d1cffc
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 name 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), and snail-mail address
9(S).
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, TargetData refactoring, random improvements
20
21N: Henrik Bach
22D: MingW Win32 API portability layer
23
24N: Nate Begeman
25E: natebegeman@mac.com
26D: PowerPC backend developer
27D: Target-independent code generator and analysis improvements
28
29N: Daniel Berlin
30E: dberlin@dberlin.org
31D: ET-Forest implementation.
32D: Sparse bitmap
33
34N: Neil Booth
35E: neil@daikokuya.co.uk
36D: APFloat implementation.
37
38N: Misha Brukman
39E: brukman+llvm@uiuc.edu
40W: http://misha.brukman.net
41D: Portions of X86 and Sparc JIT compilers, PowerPC backend
42D: Incremental bytecode loader
43
44N: Cameron Buschardt
45E: buschard@uiuc.edu
46D: The `mem2reg' pass - promotes values stored in memory to registers
47
48N: Chandler Carruth
49E: chandlerc@gmail.com
50D: LinkTimeOptimizer for Linux, via binutils integration, and C API
51
52N: Casey Carter
53E: ccarter@uiuc.edu
54D: Fixes to the Reassociation pass, various improvement patches
55
56N: Evan Cheng
57E: evan.cheng@apple.com
58D: ARM and X86 backends
59D: Instruction scheduler improvements
60D: Register allocator improvements
61D: Loop optimizer improvements
62D: Target-independent code generator improvements
63
64N: Jeff Cohen
65E: jeffc@jolt-lang.org
66W: http://jolt-lang.org
67D: Native Win32 API portability layer
68
69N: John T. Criswell
70E: criswell@uiuc.edu
71D: Original Autoconf support, documentation improvements, bug fixes
72
73N: Rafael Avila de Espindola
74E: rafael.espindola@gmail.com
75D: The ARM backend
76
77N: Alkis Evlogimenos
78E: alkis@evlogimenos.com
79D: Linear scan register allocator, many codegen improvements, Java frontend
80
81N: Brian Gaeke
82E: gaeke@uiuc.edu
83W: http://www.students.uiuc.edu/~gaeke/
84D: Portions of X86 static and JIT compilers; initial SparcV8 backend
85D: Dynamic trace optimizer
86D: FreeBSD/X86 compatibility fixes, the llvm-nm tool
87
88N: Nicolas Geoffray
89E: nicolas.geoffray@lip6.fr
90W: http://www-src.lip6.fr/homepages/Nicolas.Geoffray/
91D: PPC backend fixes for Linux
92
93N: Louis Gerbarg
94D: Portions of the PowerPC backend
95
96N: Saem Ghani
97E: saemghani@gmail.com
98D: Callgraph class cleanups
99
100N: Mikhail Glushenkov
101E: foldr@codedgers.com
102D: Author of llvmc2
103
104N: Dan Gohman
105E: gohman@apple.com
106D: Miscellaneous bug fixes
107
108N: David Greene
109E: greened@obbligato.org
110D: Miscellaneous bug fixes
111D: Register allocation refactoring
112
113N: Gabor Greif
114E: ggreif@gmail.com
115D: Improvements for space efficiency
116
117N: Lang Hames
118E: lhames@gmail.com
119D: PBQP-based register allocator
120
121N: Gordon Henriksen
122E: gordonhenriksen@mac.com
123D: Pluggable GC support
124D: C interface
125D: Ocaml bindings
126
127N: Raul Fernandes Herbster
128E: raul@dsc.ufcg.edu.br
129D: JIT support for ARM
130
131N: Paolo Invernizzi
132E: arathorn@fastwebnet.it
133D: Visual C++ compatibility fixes
134
135N: Patrick Jenkins
136E: patjenk@wam.umd.edu
137D: Nightly Tester
138
139N: Brad Jones
140E: kungfoomaster@nondot.org
141D: Support for packed types
142
143N: Dale Johannesen
144E: dalej@apple.com
145D: ARM constant islands improvements
146D: Tail merging improvements
147D: Rewrite X87 back end
148D: Use APFloat for floating point constants widely throughout compiler
149D: Implement X87 long double
150
151N: Eric Kidd
152W: http://randomhacks.net/
153D: llvm-config script
154
155N: Anton Korobeynikov
156E: asl@math.spbu.ru
157D: Mingw32 fixes, cross-compiling support, stdcall/fastcall calling conv.
158D: x86/linux PIC codegen, aliases, regparm/visibility attributes
159D: Switch lowering refactoring
160
161N: Sumant Kowshik
162E: kowshik@uiuc.edu
163D: Author of the original C backend
164
165N: Christopher Lamb
166E: christopher.lamb@gmail.com
167D: aligned load/store support, parts of noalias and restrict support
168D: vreg subreg infrastructure, X86 codegen improvements based on subregs
169D: address spaces
170
171N: Jim Laskey
172E: jlaskey@apple.com
173D: Improvements to the PPC backend, instruction scheduling
174D: Debug and Dwarf implementation
175D: Auto upgrade mangler
176D: llvm-gcc4 svn wrangler
177
178N: Chris Lattner
179E: sabre@nondot.org
180W: http://nondot.org/~sabre/
181D: Primary architect of LLVM
182
183N: Tanya Lattner (Tanya Brethour)
184E: tonic@nondot.org
185W: http://nondot.org/~tonic/
186D: The initial llvm-ar tool, converted regression testsuite to dejagnu
187D: Modulo scheduling in the SparcV9 backend
188D: Release manager (1.7+)
189
190N: Andrew Lenharth
191E: alenhar2@cs.uiuc.edu
192W: http://www.lenharth.org/~andrewl/
193D: Alpha backend
194D: Sampling based profiling
195
196N: Nick Lewycky
197E: nicholas@mxc.ca
198D: PredicateSimplifier pass
199
200N: Bruno Cardoso Lopes
201E: bruno.cardoso@gmail.com
202W: http://www.brunocardoso.org
203D: The Mips backend
204
205N: Duraid Madina
206E: duraid@octopus.com.au
207W: http://kinoko.c.u-tokyo.ac.jp/~duraid/
208D: IA64 backend, BigBlock register allocator
209
210N: Michael McCracken
211E: michael.mccracken@gmail.com
212D: Line number support for llvmgcc
213
214N: Vladimir Merzliakov
215E: wanderer@rsu.ru
216D: Test suite fixes for FreeBSD
217
218N: Scott Michel
219E: scottm@aero.org
220D: Added STI Cell SPU backend.
221
222N: Morten Ofstad
223E: morten@hue.no
224D: Visual C++ compatibility fixes
225
226N: Richard Osborne
227E: richard@xmos.com
228D: XCore backend
229
230N: Devang Patel
231E: dpatel@apple.com
232D: LTO tool, PassManager rewrite, Loop Pass Manager, Loop Rotate
233D: GCC PCH Integration (llvm-gcc), llvm-gcc improvements
234D: Optimizer improvements, Loop Index Split
235
236N: Vladimir Prus
237W: http://vladimir_prus.blogspot.com
238E: ghost@cs.msu.su
239D: Made inst_iterator behave like a proper iterator, LowerConstantExprs pass
240
241N: Roman Samoilov
242E: roman@codedgers.com
243D: MSIL backend
244
245N: Duncan Sands
246E: baldrick@free.fr
247D: Ada front-end, exception handling improvements
248
249N: Ruchira Sasanka
250E: sasanka@uiuc.edu
251D: Graph coloring register allocator for the Sparc64 backend
252
253N: Arnold Schwaighofer
254E: arnold.schwaighofer@gmail.com
255D: Tail call optimization for the x86 backend
256
257N: Anand Shukla
258E: ashukla@cs.uiuc.edu
259D: The `paths' pass
260
261N: Reid Spencer
262E: rspencer@reidspencer.com
263W: http://reidspencer.com/
264D: Lots of stuff, see: http://wiki.llvm.org/index.php/User:Reid
265
266N: Adam Treat
267E: manyoso@yahoo.com
268D: C++ bugs filed, and C++ front-end bug fixes.
269
270N: Lauro Ramos Venancio
271E: lauro.venancio@indt.org.br
272D: ARM backend improvements
273D: Thread Local Storage implementation
274
275N: Bill Wendling
276E: isanbard@gmail.com
277D: Machine LICM
278D: Darwin exception handling
279D: MMX & SSSE3 instructions
280D: SPEC2006 support
281