CREDITS.TXT revision 71a1872451e9348fa5b3e3295d584d56b0ddf1c4
186c27eebc0a4aaeb3de1ee615e8c31c6ab60af14Chris LattnerThis file is a partial list of people who have contributed to the LLVM
286c27eebc0a4aaeb3de1ee615e8c31c6ab60af14Chris Lattnerproject.  If you have contributed a patch or made some other contribution to
386c27eebc0a4aaeb3de1ee615e8c31c6ab60af14Chris LattnerLLVM, please submit a patch to this file to add yourself, and it will be 
486c27eebc0a4aaeb3de1ee615e8c31c6ab60af14Chris Lattnerdone!
5b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha 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
90fc20c82bcf82a3a802bedf480b8e89048df2371Misha 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
15b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman
1671a1872451e9348fa5b3e3295d584d56b0ddf1c4Owen AndersonN: Owen Anderson
1771a1872451e9348fa5b3e3295d584d56b0ddf1c4Owen AndersonE: resistor@mac.com
1871a1872451e9348fa5b3e3295d584d56b0ddf1c4Owen AndersonD: TargetData refactoring, random improvements
1971a1872451e9348fa5b3e3295d584d56b0ddf1c4Owen Anderson
20f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerN: Henrik Bach
21f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerD: MingW Win32 API portability layer
22f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris Lattner
23f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanN: Nate Begeman
24f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanE: natebegeman@mac.com
25e5ce8479244a293aa46d94d1aa49d1769f35ba7bNate BegemanD: PowerPC backend developer
26e5ce8479244a293aa46d94d1aa49d1769f35ba7bNate BegemanD: Target-independent code generator and analysis improvements
27f200eee6ac761044d24de0c89ee3224d589fd72bMisha Brukman
284e6b17a41bc97da1e7addd6b184e6901a0f638a0Chris LattnerN: Daniel Berlin
294e6b17a41bc97da1e7addd6b184e6901a0f638a0Chris LattnerE: dberlin@dberlin.org
304e6b17a41bc97da1e7addd6b184e6901a0f638a0Chris LattnerD: ET-Forest implementation.
314e6b17a41bc97da1e7addd6b184e6901a0f638a0Chris Lattner
32b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Misha Brukman
332d7721457a7587285c46f1543185cef93164457cMisha BrukmanE: brukman+llvm@uiuc.edu
34b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanW: http://misha.brukman.net
35f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanD: Portions of X86 and Sparc JIT compilers, PowerPC backend
36f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanD: Incremental bytecode loader
37b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman
38b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Cameron Buschardt
392d7721457a7587285c46f1543185cef93164457cMisha BrukmanE: buschard@uiuc.edu
400fc20c82bcf82a3a802bedf480b8e89048df2371Misha BrukmanD: The `mem2reg' pass - promotes values stored in memory to registers
41b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman
42b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Casey Carter
432d7721457a7587285c46f1543185cef93164457cMisha BrukmanE: ccarter@uiuc.edu
44b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: Fixes to the Reassociation pass, various improvement patches
45b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman
464c286c373168269827e104749c75066b26588d58Chris LattnerN: Evan Cheng
474c286c373168269827e104749c75066b26588d58Chris LattnerE: evan.cheng@apple.com
48fc32dcbdda713cd1f3e27aeaa5a0722df1896c66Evan ChengD: X86 backend developer
49fc32dcbdda713cd1f3e27aeaa5a0722df1896c66Evan ChengD: Instruction scheduler improvements
50fc32dcbdda713cd1f3e27aeaa5a0722df1896c66Evan ChengD: Loop optimizer improvements
51fc32dcbdda713cd1f3e27aeaa5a0722df1896c66Evan ChengD: Target-independent code generator improvements
524c286c373168269827e104749c75066b26588d58Chris Lattner
53f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerN: Jeff Cohen
540939d7745298ae84ef4e0adcbc872125c0faf544Jeff CohenE: jeffc@jolt-lang.org
550939d7745298ae84ef4e0adcbc872125c0faf544Jeff CohenW: http://jolt-lang.org
56f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerD: Native Win32 API portability layer
57f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris Lattner
582d7721457a7587285c46f1543185cef93164457cMisha BrukmanN: John T. Criswell
592d7721457a7587285c46f1543185cef93164457cMisha BrukmanE: criswell@uiuc.edu
602d7721457a7587285c46f1543185cef93164457cMisha BrukmanD: Autoconf support, QMTest database, documentation improvements
612d7721457a7587285c46f1543185cef93164457cMisha Brukman
62a3fdc024669beedc938360c7fee3349fe7a4a48fRafael EspindolaN: Rafael Avila de Espindola
63a3fdc024669beedc938360c7fee3349fe7a4a48fRafael EspindolaE: rafael.espindola@gmail.com
64a3fdc024669beedc938360c7fee3349fe7a4a48fRafael EspindolaD: The ARM backend
65a3fdc024669beedc938360c7fee3349fe7a4a48fRafael Espindola
664ce08a0a47d0708455195237ac30b626dcdf969aChris LattnerN: Alkis Evlogimenos
67ab5948f2427a1b7f3f92e338fb70f682d81c0fb6Alkis EvlogimenosE: alkis@evlogimenos.com
684ce08a0a47d0708455195237ac30b626dcdf969aChris LattnerD: Linear scan register allocator, many codegen improvements, Java frontend
694ce08a0a47d0708455195237ac30b626dcdf969aChris Lattner
70b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Brian Gaeke
71b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanE: gaeke@uiuc.edu
72b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanW: http://www.students.uiuc.edu/~gaeke/
734e514c1f0c5794d24eff32b9a7ecce935110113eChris LattnerD: Portions of X86 static and JIT compilers; initial SparcV8 backend
74d56bd42b917a81adc75af566d2bf6a3f42b9f0d3Brian GaekeD: Dynamic trace optimizer 
752d7721457a7587285c46f1543185cef93164457cMisha BrukmanD: FreeBSD/X86 compatibility fixes, the llvm-nm tool
76b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman
77f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanN: Louis Gerbarg
78f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanD: Portions of the PowerPC backend
79f200eee6ac761044d24de0c89ee3224d589fd72bMisha Brukman
804e514c1f0c5794d24eff32b9a7ecce935110113eChris LattnerN: Saem Ghani
814e514c1f0c5794d24eff32b9a7ecce935110113eChris LattnerE: saemghani@gmail.com
824e514c1f0c5794d24eff32b9a7ecce935110113eChris LattnerD: Callgraph class cleanups
834e514c1f0c5794d24eff32b9a7ecce935110113eChris Lattner
84f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerN: Paolo Invernizzi
85309ca69064f027702499605fc98f76ea8d34fd37Misha BrukmanE: arathorn@fastwebnet.it
86f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerD: Visual C++ compatibility fixes 
87f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris Lattner
88323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha BrukmanN: Brad Jones
89323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha BrukmanE: kungfoomaster@nondot.org
90323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha BrukmanD: Support for packed types
91323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha Brukman
92b195d9d365e5f960c93ddfdf10638d5d147d9f6fReid SpencerN: Eric Kidd
93b195d9d365e5f960c93ddfdf10638d5d147d9f6fReid SpencerW: http://randomhacks.net/
94b195d9d365e5f960c93ddfdf10638d5d147d9f6fReid SpencerD: llvm-config script
95b195d9d365e5f960c93ddfdf10638d5d147d9f6fReid Spencer
963acd9181df5d8f76f75a384266e2a78b9a6c4f45Chris LattnerN: Sumant Kowshik
973acd9181df5d8f76f75a384266e2a78b9a6c4f45Chris LattnerE: kowshik@uiuc.edu
983acd9181df5d8f76f75a384266e2a78b9a6c4f45Chris LattnerD: Author of the original C backend
993acd9181df5d8f76f75a384266e2a78b9a6c4f45Chris Lattner
1004c286c373168269827e104749c75066b26588d58Chris LattnerN: Jim Laskey
1014c286c373168269827e104749c75066b26588d58Chris LattnerE: jlaskey@apple.com
1024c286c373168269827e104749c75066b26588d58Chris LattnerD: Improvements to the PPC backend, instruction scheduling
1031e83c6f5f1ef0cba3348ed44403617ee29d79b02Jim LaskeyD: Debug implementation, Dwarf implementation
1044c286c373168269827e104749c75066b26588d58Chris Lattner
105b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Chris Lattner
106b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanE: sabre@nondot.org
107b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanW: http://nondot.org/~sabre/
108b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: Primary architect of LLVM
109b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman
110f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya LattnerN: Tanya Lattner (formerly Tanya Brethour)
111f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya LattnerE: tonic@nondot.org
112f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya LattnerW: http://nondot.org/~tonic/
113f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya LattnerD: The initial llvm-ar tool, converted regression testsuite to dejagnu
114f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya LattnerD: Modulo scheduling in the SparcV9 backend
115f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya Lattner
116e9b0a02579b9a5153fe8fe5c029870e2e93e48a1Misha BrukmanN: Andrew Lenharth
117e9b0a02579b9a5153fe8fe5c029870e2e93e48a1Misha BrukmanE: alenhar2@cs.uiuc.edu
118e9b0a02579b9a5153fe8fe5c029870e2e93e48a1Misha BrukmanW: http://www.lenharth.org/~andrewl/
119e9b0a02579b9a5153fe8fe5c029870e2e93e48a1Misha BrukmanD: Alpha backend
12063223c93d83f9f3bb1f2369c84639696268a2858Andrew LenharthD: Sampling based profiling
121e9b0a02579b9a5153fe8fe5c029870e2e93e48a1Misha Brukman
122735e0acba5695d26826bb4aa0beda497a60e7810Duraid MadinaN: Duraid Madina
123735e0acba5695d26826bb4aa0beda497a60e7810Duraid MadinaE: duraid@octopus.com.au
124735e0acba5695d26826bb4aa0beda497a60e7810Duraid MadinaW: http://kinoko.c.u-tokyo.ac.jp/~duraid/
125735e0acba5695d26826bb4aa0beda497a60e7810Duraid MadinaD: IA64 backend
126735e0acba5695d26826bb4aa0beda497a60e7810Duraid Madina
1279626470f109752ddd3b12469aae30df8d121a056Chris LattnerN: Michael McCracken
1289626470f109752ddd3b12469aae30df8d121a056Chris LattnerE: michael.mccracken@gmail.com
1299626470f109752ddd3b12469aae30df8d121a056Chris LattnerD: Line number support for llvmgcc
1309626470f109752ddd3b12469aae30df8d121a056Chris Lattner
131b8356b3ce2d1913d466ac4dc1812d7e2520527ddChris LattnerN: Vladimir Merzliakov
132b8356b3ce2d1913d466ac4dc1812d7e2520527ddChris LattnerE: wanderer@rsu.ru
133323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha BrukmanD: Test suite fixes for FreeBSD
134b8356b3ce2d1913d466ac4dc1812d7e2520527ddChris Lattner
135309ca69064f027702499605fc98f76ea8d34fd37Misha BrukmanN: Morten Ofstad
136309ca69064f027702499605fc98f76ea8d34fd37Misha BrukmanE: morten@hue.no
137309ca69064f027702499605fc98f76ea8d34fd37Misha BrukmanD: Visual C++ compatibility fixes 
138309ca69064f027702499605fc98f76ea8d34fd37Misha Brukman
139b7206e74fc9cae6533593853a9763a4b6257f5a2Misha BrukmanN: Vladimir Prus
140b7206e74fc9cae6533593853a9763a4b6257f5a2Misha BrukmanE: ghost@cs.msu.su
1419cd94d72b0cc5014c09775f2050cdd868baaa3e3Misha BrukmanD: Made inst_iterator behave like a proper iterator, LowerConstantExprs pass
142b7206e74fc9cae6533593853a9763a4b6257f5a2Misha Brukman
143b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Ruchira Sasanka
144b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanE: sasanka@uiuc.edu
145b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: Graph coloring register allocator for the Sparc64 backend
146b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman
147b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Anand Shukla
148b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanE: ashukla@cs.uiuc.edu
1492d7721457a7587285c46f1543185cef93164457cMisha BrukmanD: The `paths' pass
150b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman
15175920ee4608c556711df852cda647b5a13075f03Brian GaekeN: Reid Spencer
15275920ee4608c556711df852cda647b5a13075f03Brian GaekeE: rspencer@x10sys.com
153ad4ce52618ca03923d11e3f9f4aa19090687210dReid SpencerW: http://llvm.x10sys.com/rspencer
1545f2090ce5c5b45cfbcb0e945474df143fbb2aabcReid SpencerD: Stacker, llvmc, llvm-ld, llvm-ar, lib/Archive, lib/Linker, lib/System, 
1555f2090ce5c5b45cfbcb0e945474df143fbb2aabcReid SpencerD: bytecode enhancements, symtab hacking, unoverloading of intrinsics, makefile 
1565f2090ce5c5b45cfbcb0e945474df143fbb2aabcReid SpencerD: and configuration system, documentation.
15775920ee4608c556711df852cda647b5a13075f03Brian Gaeke
1583363e2786c55097e145abf7235c1ae944ebe0bb6Chris LattnerN: Adam Treat
1593363e2786c55097e145abf7235c1ae944ebe0bb6Chris LattnerE: manyoso@yahoo.com
1603363e2786c55097e145abf7235c1ae944ebe0bb6Chris LattnerD: C++ bugs filed, and C++ front-end bug fixes.
1613363e2786c55097e145abf7235c1ae944ebe0bb6Chris Lattner
162b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Bill Wendling
16376602528ec7de476452c5b0f7a3314bd3d0577b8Chris LattnerE: wendling@isanbard.org
1642d7721457a7587285c46f1543185cef93164457cMisha BrukmanD: The `Lower Setjmp/Longjmp' pass, improvements to the -lowerswitch pass.
165