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