Update.
[oota-llvm.git] / CREDITS.TXT
1 This file is a partial list of people who have contributed to the LLVM
2 project.  If you have contributed a patch or made some other contribution to
3 LLVM, please submit a patch to this file to add yourself, and it will be 
4 done!
5
6 The list is sorted by name and formatted to allow easy grepping and
7 beautification 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
11 N: Vikram Adve
12 E: vadve@cs.uiuc.edu
13 W: http://www.cs.uiuc.edu/~vadve/
14 D: The Sparc64 backend, provider of much wisdom, and motivator for LLVM
15
16 N: Owen Anderson
17 E: resistor@mac.com
18 D: LCSSA pass and related LoopUnswitch work, TargetData refactoring, random improvements
19
20 N: Henrik Bach
21 D: MingW Win32 API portability layer
22
23 N: Nate Begeman
24 E: natebegeman@mac.com
25 D: PowerPC backend developer
26 D: Target-independent code generator and analysis improvements
27
28 N: Daniel Berlin
29 E: dberlin@dberlin.org
30 D: ET-Forest implementation.
31
32 N: Misha Brukman
33 E: brukman+llvm@uiuc.edu
34 W: http://misha.brukman.net
35 D: Portions of X86 and Sparc JIT compilers, PowerPC backend
36 D: Incremental bytecode loader
37
38 N: Cameron Buschardt
39 E: buschard@uiuc.edu
40 D: The `mem2reg' pass - promotes values stored in memory to registers
41
42 N: Chandler Carruth
43 E: chandlerc@gmail.com
44 D: LinkTimeOptimizer for Linux, via binutils integration, and C API
45
46 N: Casey Carter
47 E: ccarter@uiuc.edu
48 D: Fixes to the Reassociation pass, various improvement patches
49
50 N: Evan Cheng
51 E: evan.cheng@apple.com
52 D: ARM and X86 backends
53 D: Instruction scheduler improvements
54 D: Register allocator improvements
55 D: Loop optimizer improvements
56 D: Target-independent code generator improvements
57
58 N: Jeff Cohen
59 E: jeffc@jolt-lang.org
60 W: http://jolt-lang.org
61 D: Native Win32 API portability layer
62
63 N: John T. Criswell
64 E: criswell@uiuc.edu
65 D: Autoconf support, QMTest database, documentation improvements
66
67 N: Rafael Avila de Espindola
68 E: rafael.espindola@gmail.com
69 D: The ARM backend
70
71 N: Alkis Evlogimenos
72 E: alkis@evlogimenos.com
73 D: Linear scan register allocator, many codegen improvements, Java frontend
74
75 N: Brian Gaeke
76 E: gaeke@uiuc.edu
77 W: http://www.students.uiuc.edu/~gaeke/
78 D: Portions of X86 static and JIT compilers; initial SparcV8 backend
79 D: Dynamic trace optimizer 
80 D: FreeBSD/X86 compatibility fixes, the llvm-nm tool
81
82 N: Nicolas Geoffray
83 E: nicolas.geoffray@lip6.fr
84 W: http://www-src.lip6.fr/homepages/Nicolas.Geoffray/
85 D: PPC backend fixes for Linux
86
87 N: Louis Gerbarg
88 D: Portions of the PowerPC backend
89
90 N: Saem Ghani
91 E: saemghani@gmail.com
92 D: Callgraph class cleanups
93
94 N: Dan Gohman
95 E: djg@cray.com
96 D: Miscellaneous bug fixes
97
98 N: Paolo Invernizzi
99 E: arathorn@fastwebnet.it
100 D: Visual C++ compatibility fixes 
101
102 N: Patrick Jenkins
103 E: patjenk@wam.umd.edu
104 D: Nightly Tester
105
106 N: Brad Jones
107 E: kungfoomaster@nondot.org
108 D: Support for packed types
109
110 N: Dale Johannesen
111 E: dalej@apple.com
112 D: ARM constant islands improvements
113
114 N: Eric Kidd
115 W: http://randomhacks.net/
116 D: llvm-config script
117
118 N: Anton Korobeynikov
119 E: asl@math.spbu.ru
120 D: Mingw32 fixes, cross-compiling support, stdcall/fastcall calling conv.
121 D: x86/linux PIC codegen, aliases, regparm/visibility attributes
122 D: Switch lowering refactoring
123
124 N: Sumant Kowshik
125 E: kowshik@uiuc.edu
126 D: Author of the original C backend
127
128 N: Christopher Lamb
129 E: christopher.lamb@gmail.com
130 D: aligned load/store support
131
132 N: Jim Laskey
133 E: jlaskey@apple.com
134 D: Improvements to the PPC backend, instruction scheduling
135 D: Debug and Dwarf implementation
136 D: Auto upgrade mangler 
137 D: llvm-gcc4 svn wrangler
138
139 N: Chris Lattner
140 E: sabre@nondot.org
141 W: http://nondot.org/~sabre/
142 D: Primary architect of LLVM
143
144 N: Tanya Lattner (formerly Tanya Brethour)
145 E: tonic@nondot.org
146 W: http://nondot.org/~tonic/
147 D: The initial llvm-ar tool, converted regression testsuite to dejagnu
148 D: Modulo scheduling in the SparcV9 backend
149 D: Release manager (1.7+)
150
151 N: Andrew Lenharth
152 E: alenhar2@cs.uiuc.edu
153 W: http://www.lenharth.org/~andrewl/
154 D: Alpha backend
155 D: Sampling based profiling
156
157 N: Nick Lewycky
158 E: nicholas@mxc.ca
159 D: PredicateSimplifier pass
160
161 N: Duraid Madina
162 E: duraid@octopus.com.au
163 W: http://kinoko.c.u-tokyo.ac.jp/~duraid/
164 D: IA64 backend
165
166 N: Michael McCracken
167 E: michael.mccracken@gmail.com
168 D: Line number support for llvmgcc
169
170 N: Vladimir Merzliakov
171 E: wanderer@rsu.ru
172 D: Test suite fixes for FreeBSD
173
174 N: Morten Ofstad
175 E: morten@hue.no
176 D: Visual C++ compatibility fixes 
177
178 N: Devang Patel
179 E: dpatel@apple.com
180 D: LTO tool, PassManager rewrite, Loop Pass Manager, Loop Rotate
181 D: GCC PCH Integration (llvm-gcc), llvm-gcc improvements
182 D: Optimizer improvements
183
184 N: Vladimir Prus
185 W: http://vladimir_prus.blogspot.com
186 E: ghost@cs.msu.su
187 D: Made inst_iterator behave like a proper iterator, LowerConstantExprs pass
188
189 N: Roman Samoilov
190 E: roman@codedgers.com
191 D: MSIL backend
192
193 N: Duncan Sands
194 E: baldrick@free.fr
195 D: Ada front-end
196
197 N: Ruchira Sasanka
198 E: sasanka@uiuc.edu
199 D: Graph coloring register allocator for the Sparc64 backend
200
201 N: Anand Shukla
202 E: ashukla@cs.uiuc.edu
203 D: The `paths' pass
204
205 N: Reid Spencer
206 E: rspencer@reidspencer.com
207 W: http://reidspencer.com/
208 D: http://wiki.llvm.org/index.php/User:Reid
209
210 N: Adam Treat
211 E: manyoso@yahoo.com
212 D: C++ bugs filed, and C++ front-end bug fixes.
213
214 N: Lauro Ramos Venancio
215 E: lauro.venancio@indt.org.br
216 D: ARM backend improvements
217 D: Thread Local Storage implementation
218
219 N: Bill Wendling
220 E: isanbard@gmail.com
221 W: http://web.mac.com/bwendling/
222 D: The `Lower Setjmp/Longjmp' pass, improvements to the -lowerswitch pass.