CREDITS.TXT revision f5e941b9f690e54597af6b33df582ea2c5b72e4a
1b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanThis file is a partial list of people who have contributed to the LLVM 2b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukmanproject. If you have contributed a patch or made some other contribution to 3b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanLLVM, please submit a patch to this file to add yourself, and it will be 4b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukmandone! 50fc20c82bcf82a3a802bedf480b8e89048df2371Misha Brukman 60fc20c82bcf82a3a802bedf480b8e89048df2371Misha BrukmanThe list is sorted by name and formatted to allow easy grepping and 70fc20c82bcf82a3a802bedf480b8e89048df2371Misha Brukmanbeautification by scripts. The fields are: name (N), email (E), web-address 80fc20c82bcf82a3a802bedf480b8e89048df2371Misha Brukman(W), PGP key ID and fingerprint (P), description (D), and snail-mail address 9b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman(S). 10b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman 11b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Vikram Adve 12b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanE: vadve@cs.uiuc.edu 13b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanW: http://www.cs.uiuc.edu/~vadve/ 14b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: The Sparc64 backend, provider of much wisdom, and motivator for LLVM 15f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris Lattner 16f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerN: Owen Anderson 17f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerE: resistor@mac.com 18f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanD: LCSSA pass and related LoopUnswitch work 19f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanD: GVNPRE pass, TargetData refactoring, random improvements 20f200eee6ac761044d24de0c89ee3224d589fd72bMisha Brukman 21f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanN: Henrik Bach 222d7721457a7587285c46f1543185cef93164457cMisha BrukmanD: MingW Win32 API portability layer 232d7721457a7587285c46f1543185cef93164457cMisha Brukman 242d7721457a7587285c46f1543185cef93164457cMisha BrukmanN: Nate Begeman 252d7721457a7587285c46f1543185cef93164457cMisha BrukmanE: natebegeman@mac.com 262d7721457a7587285c46f1543185cef93164457cMisha BrukmanD: PowerPC backend developer 27b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: Target-independent code generator and analysis improvements 282d7721457a7587285c46f1543185cef93164457cMisha Brukman 29b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Daniel Berlin 30f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanE: dberlin@dberlin.org 31f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanD: ET-Forest implementation. 32b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: Sparse bitmap 33b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman 342d7721457a7587285c46f1543185cef93164457cMisha BrukmanN: Neil Booth 350fc20c82bcf82a3a802bedf480b8e89048df2371Misha BrukmanE: neil@daikokuya.co.uk 36b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: APFloat implementation. 37b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman 382d7721457a7587285c46f1543185cef93164457cMisha BrukmanN: Misha Brukman 39b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanE: brukman+llvm@uiuc.edu 40b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanW: http://misha.brukman.net 41f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerD: Portions of X86 and Sparc JIT compilers, PowerPC backend 42f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerD: Incremental bytecode loader 43f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris Lattner 442d7721457a7587285c46f1543185cef93164457cMisha BrukmanN: Cameron Buschardt 452d7721457a7587285c46f1543185cef93164457cMisha BrukmanE: buschard@uiuc.edu 462d7721457a7587285c46f1543185cef93164457cMisha BrukmanD: The `mem2reg' pass - promotes values stored in memory to registers 472d7721457a7587285c46f1543185cef93164457cMisha Brukman 484ce08a0a47d0708455195237ac30b626dcdf969aChris LattnerN: Chandler Carruth 49ab5948f2427a1b7f3f92e338fb70f682d81c0fb6Alkis EvlogimenosE: chandlerc@gmail.com 504ce08a0a47d0708455195237ac30b626dcdf969aChris LattnerD: LinkTimeOptimizer for Linux, via binutils integration, and C API 514ce08a0a47d0708455195237ac30b626dcdf969aChris Lattner 52b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Casey Carter 53b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanE: ccarter@uiuc.edu 54b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: Fixes to the Reassociation pass, various improvement patches 55a713bc9ce7c4dee097ede76c2afa073c5ecc7fceBrian Gaeke 56d56bd42b917a81adc75af566d2bf6a3f42b9f0d3Brian GaekeN: Evan Cheng 572d7721457a7587285c46f1543185cef93164457cMisha BrukmanE: evan.cheng@apple.com 58b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: ARM and X86 backends 59f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanD: Instruction scheduler improvements 60f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanD: Register allocator improvements 61f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanD: Loop optimizer improvements 62f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerD: Target-independent code generator improvements 63309ca69064f027702499605fc98f76ea8d34fd37Misha Brukman 64f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerN: Jeff Cohen 65f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerE: jeffc@jolt-lang.org 66323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha BrukmanW: http://jolt-lang.org 67323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha BrukmanD: Native Win32 API portability layer 68323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha Brukman 69323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha BrukmanN: John T. Criswell 703acd9181df5d8f76f75a384266e2a78b9a6c4f45Chris LattnerE: criswell@uiuc.edu 713acd9181df5d8f76f75a384266e2a78b9a6c4f45Chris LattnerD: Original Autoconf support, documentation improvements, bug fixes 723acd9181df5d8f76f75a384266e2a78b9a6c4f45Chris Lattner 733acd9181df5d8f76f75a384266e2a78b9a6c4f45Chris LattnerN: Rafael Avila de Espindola 74b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanE: rafael.espindola@gmail.com 75b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: The ARM backend 76b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman 77b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Alkis Evlogimenos 78b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanE: alkis@evlogimenos.com 79b8356b3ce2d1913d466ac4dc1812d7e2520527ddChris LattnerD: Linear scan register allocator, many codegen improvements, Java frontend 80b8356b3ce2d1913d466ac4dc1812d7e2520527ddChris Lattner 81323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha BrukmanN: Brian Gaeke 82b8356b3ce2d1913d466ac4dc1812d7e2520527ddChris LattnerE: gaeke@uiuc.edu 83309ca69064f027702499605fc98f76ea8d34fd37Misha BrukmanW: http://www.students.uiuc.edu/~gaeke/ 84309ca69064f027702499605fc98f76ea8d34fd37Misha BrukmanD: Portions of X86 static and JIT compilers; initial SparcV8 backend 85309ca69064f027702499605fc98f76ea8d34fd37Misha BrukmanD: Dynamic trace optimizer 86309ca69064f027702499605fc98f76ea8d34fd37Misha BrukmanD: FreeBSD/X86 compatibility fixes, the llvm-nm tool 87b7206e74fc9cae6533593853a9763a4b6257f5a2Misha Brukman 88b7206e74fc9cae6533593853a9763a4b6257f5a2Misha BrukmanN: Nicolas Geoffray 899cd94d72b0cc5014c09775f2050cdd868baaa3e3Misha BrukmanE: nicolas.geoffray@lip6.fr 90b7206e74fc9cae6533593853a9763a4b6257f5a2Misha BrukmanW: http://www-src.lip6.fr/homepages/Nicolas.Geoffray/ 91b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: PPC backend fixes for Linux 92b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman 93b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Louis Gerbarg 94b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: Portions of the PowerPC backend 95b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman 96b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Saem Ghani 972d7721457a7587285c46f1543185cef93164457cMisha BrukmanE: saemghani@gmail.com 98b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: Callgraph class cleanups 9975920ee4608c556711df852cda647b5a13075f03Brian Gaeke 10075920ee4608c556711df852cda647b5a13075f03Brian GaekeN: Mikhail Glushenkov 101ad4ce52618ca03923d11e3f9f4aa19090687210dReid SpencerE: foldr@codedgers.com 1027b8848f6e90e390045777d7c210841b33e844162Reid SpencerD: Author of llvmc2 10375920ee4608c556711df852cda647b5a13075f03Brian Gaeke 104b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Dan Gohman 10576602528ec7de476452c5b0f7a3314bd3d0577b8Chris LattnerE: djg@cray.com 1062d7721457a7587285c46f1543185cef93164457cMisha BrukmanD: Miscellaneous bug fixes 107 108N: David Greene 109E: greened@obbligato.org 110D: Miscellaneous bug fixes 111D: Register allocation refactoring 112 113N: Gordon Henriksen 114E: gordonhenriksen@mac.com 115D: Pluggable GC support 116D: C interface 117D: Ocaml bindings 118 119N: Raul Fernandes Herbster 120E: raul@dsc.ufcg.edu.br 121D: JIT support for ARM 122 123N: Paolo Invernizzi 124E: arathorn@fastwebnet.it 125D: Visual C++ compatibility fixes 126 127N: Patrick Jenkins 128E: patjenk@wam.umd.edu 129D: Nightly Tester 130 131N: Brad Jones 132E: kungfoomaster@nondot.org 133D: Support for packed types 134 135N: Dale Johannesen 136E: dalej@apple.com 137D: ARM constant islands improvements 138D: Tail merging improvements 139D: Rewrite X87 back end 140D: Use APFloat for floating point constants widely throughout compiler 141D: Implement X87 long double 142 143N: Eric Kidd 144W: http://randomhacks.net/ 145D: llvm-config script 146 147N: Anton Korobeynikov 148E: asl@math.spbu.ru 149D: Mingw32 fixes, cross-compiling support, stdcall/fastcall calling conv. 150D: x86/linux PIC codegen, aliases, regparm/visibility attributes 151D: Switch lowering refactoring 152 153N: Sumant Kowshik 154E: kowshik@uiuc.edu 155D: Author of the original C backend 156 157N: Christopher Lamb 158E: christopher.lamb@gmail.com 159D: aligned load/store support, parts of noalias and restrict support 160D: vreg subreg infrastructure, X86 codegen improvements based on subregs 161D: address spaces 162 163N: Jim Laskey 164E: jlaskey@apple.com 165D: Improvements to the PPC backend, instruction scheduling 166D: Debug and Dwarf implementation 167D: Auto upgrade mangler 168D: llvm-gcc4 svn wrangler 169 170N: Chris Lattner 171E: sabre@nondot.org 172W: http://nondot.org/~sabre/ 173D: Primary architect of LLVM 174 175N: Tanya Lattner (Tanya Brethour) 176E: tonic@nondot.org 177W: http://nondot.org/~tonic/ 178D: The initial llvm-ar tool, converted regression testsuite to dejagnu 179D: Modulo scheduling in the SparcV9 backend 180D: Release manager (1.7+) 181 182N: Andrew Lenharth 183E: alenhar2@cs.uiuc.edu 184W: http://www.lenharth.org/~andrewl/ 185D: Alpha backend 186D: Sampling based profiling 187 188N: Nick Lewycky 189E: nicholas@mxc.ca 190D: PredicateSimplifier pass 191 192N: Bruno Cardoso Lopes 193E: bruno.cardoso@gmail.com 194W: http://www.brunocardoso.org 195D: The Mips backend 196 197N: Duraid Madina 198E: duraid@octopus.com.au 199W: http://kinoko.c.u-tokyo.ac.jp/~duraid/ 200D: IA64 backend, BigBlock register allocator 201 202N: Michael McCracken 203E: michael.mccracken@gmail.com 204D: Line number support for llvmgcc 205 206N: Vladimir Merzliakov 207E: wanderer@rsu.ru 208D: Test suite fixes for FreeBSD 209 210N: Scott Michel 211E: scottm@aero.org 212D: Added STI Cell SPU backend. 213 214N: Morten Ofstad 215E: morten@hue.no 216D: Visual C++ compatibility fixes 217 218N: Devang Patel 219E: dpatel@apple.com 220D: LTO tool, PassManager rewrite, Loop Pass Manager, Loop Rotate 221D: GCC PCH Integration (llvm-gcc), llvm-gcc improvements 222D: Optimizer improvements, Loop Index Split 223 224N: Vladimir Prus 225W: http://vladimir_prus.blogspot.com 226E: ghost@cs.msu.su 227D: Made inst_iterator behave like a proper iterator, LowerConstantExprs pass 228 229N: Roman Samoilov 230E: roman@codedgers.com 231D: MSIL backend 232 233N: Duncan Sands 234E: baldrick@free.fr 235D: Ada front-end, exception handling improvements 236 237N: Ruchira Sasanka 238E: sasanka@uiuc.edu 239D: Graph coloring register allocator for the Sparc64 backend 240 241N: Arnold Schwaighofer 242E: arnold.schwaighofer@gmail.com 243D: Tail call optimization for the x86 backend 244 245N: Anand Shukla 246E: ashukla@cs.uiuc.edu 247D: The `paths' pass 248 249N: Reid Spencer 250E: rspencer@reidspencer.com 251W: http://reidspencer.com/ 252D: Lots of stuff, see: http://wiki.llvm.org/index.php/User:Reid 253 254N: Adam Treat 255E: manyoso@yahoo.com 256D: C++ bugs filed, and C++ front-end bug fixes. 257 258N: Lauro Ramos Venancio 259E: lauro.venancio@indt.org.br 260D: ARM backend improvements 261D: Thread Local Storage implementation 262 263N: Bill Wendling 264E: isanbard@gmail.com 265W: http://web.mac.com/bwendling/ 266D: Darwin exception handling 267D: MMX & SSSE3 instructions 268D: SPEC2006 support 269