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