CREDITS.TXT revision 2fcdf64ddd12cb91101df2e86c26838e988e605b
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
180a41addd7894bc7f7535ffe6a72c9dbe6847f872Owen AndersonD: LCSSA pass and related LoopUnswitch work, 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
42bb7a62435264f8f00ae502fcf985a3956d914cd4Chandler CarruthN: Chandler Carruth
43bb7a62435264f8f00ae502fcf985a3956d914cd4Chandler CarruthE: chandlerc@gmail.com
44bb7a62435264f8f00ae502fcf985a3956d914cd4Chandler CarruthD: LinkTimeOptimizer for Linux, via binutils integration, and C API
45bb7a62435264f8f00ae502fcf985a3956d914cd4Chandler Carruth
46b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Casey Carter
472d7721457a7587285c46f1543185cef93164457cMisha BrukmanE: ccarter@uiuc.edu
48b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: Fixes to the Reassociation pass, various improvement patches
49b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman
504c286c373168269827e104749c75066b26588d58Chris LattnerN: Evan Cheng
514c286c373168269827e104749c75066b26588d58Chris LattnerE: evan.cheng@apple.com
52b3ff6b75390803166301d850754670713193f8b8Evan ChengD: ARM and X86 backends
53fc32dcbdda713cd1f3e27aeaa5a0722df1896c66Evan ChengD: Instruction scheduler improvements
54fc32dcbdda713cd1f3e27aeaa5a0722df1896c66Evan ChengD: Loop optimizer improvements
55fc32dcbdda713cd1f3e27aeaa5a0722df1896c66Evan ChengD: Target-independent code generator improvements
564c286c373168269827e104749c75066b26588d58Chris Lattner
57f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerN: Jeff Cohen
580939d7745298ae84ef4e0adcbc872125c0faf544Jeff CohenE: jeffc@jolt-lang.org
590939d7745298ae84ef4e0adcbc872125c0faf544Jeff CohenW: http://jolt-lang.org
60f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerD: Native Win32 API portability layer
61f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris Lattner
622d7721457a7587285c46f1543185cef93164457cMisha BrukmanN: John T. Criswell
632d7721457a7587285c46f1543185cef93164457cMisha BrukmanE: criswell@uiuc.edu
642d7721457a7587285c46f1543185cef93164457cMisha BrukmanD: Autoconf support, QMTest database, documentation improvements
652d7721457a7587285c46f1543185cef93164457cMisha Brukman
66a3fdc024669beedc938360c7fee3349fe7a4a48fRafael EspindolaN: Rafael Avila de Espindola
67a3fdc024669beedc938360c7fee3349fe7a4a48fRafael EspindolaE: rafael.espindola@gmail.com
68a3fdc024669beedc938360c7fee3349fe7a4a48fRafael EspindolaD: The ARM backend
69a3fdc024669beedc938360c7fee3349fe7a4a48fRafael Espindola
704ce08a0a47d0708455195237ac30b626dcdf969aChris LattnerN: Alkis Evlogimenos
71ab5948f2427a1b7f3f92e338fb70f682d81c0fb6Alkis EvlogimenosE: alkis@evlogimenos.com
724ce08a0a47d0708455195237ac30b626dcdf969aChris LattnerD: Linear scan register allocator, many codegen improvements, Java frontend
734ce08a0a47d0708455195237ac30b626dcdf969aChris Lattner
74b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Brian Gaeke
75b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanE: gaeke@uiuc.edu
76b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanW: http://www.students.uiuc.edu/~gaeke/
774e514c1f0c5794d24eff32b9a7ecce935110113eChris LattnerD: Portions of X86 static and JIT compilers; initial SparcV8 backend
78d56bd42b917a81adc75af566d2bf6a3f42b9f0d3Brian GaekeD: Dynamic trace optimizer 
792d7721457a7587285c46f1543185cef93164457cMisha BrukmanD: FreeBSD/X86 compatibility fixes, the llvm-nm tool
80b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman
8145cdf30d0aedbc437cd1029695de8f66f3136facNicolas GeoffrayN: Nicolas Geoffray
8245cdf30d0aedbc437cd1029695de8f66f3136facNicolas GeoffrayE: nicolas.geoffray@lip6.fr
8345cdf30d0aedbc437cd1029695de8f66f3136facNicolas GeoffrayW: http://www-src.lip6.fr/homepages/Nicolas.Geoffray/
8445cdf30d0aedbc437cd1029695de8f66f3136facNicolas GeoffrayD: PPC backend fixes for Linux
8545cdf30d0aedbc437cd1029695de8f66f3136facNicolas Geoffray
86f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanN: Louis Gerbarg
87f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanD: Portions of the PowerPC backend
88f200eee6ac761044d24de0c89ee3224d589fd72bMisha Brukman
894e514c1f0c5794d24eff32b9a7ecce935110113eChris LattnerN: Saem Ghani
904e514c1f0c5794d24eff32b9a7ecce935110113eChris LattnerE: saemghani@gmail.com
914e514c1f0c5794d24eff32b9a7ecce935110113eChris LattnerD: Callgraph class cleanups
924e514c1f0c5794d24eff32b9a7ecce935110113eChris Lattner
93addccfd0060473f0ef3b731a08d4b384e8b9f8f9Dan GohmanN: Dan Gohman
94addccfd0060473f0ef3b731a08d4b384e8b9f8f9Dan GohmanE: djg@cray.com
95addccfd0060473f0ef3b731a08d4b384e8b9f8f9Dan GohmanD: Miscellaneous bug fixes
96addccfd0060473f0ef3b731a08d4b384e8b9f8f9Dan Gohman
97f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerN: Paolo Invernizzi
98309ca69064f027702499605fc98f76ea8d34fd37Misha BrukmanE: arathorn@fastwebnet.it
99f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerD: Visual C++ compatibility fixes 
100f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris Lattner
101df4283c8f9670edc50ab5440d655c290cf0f6d49Tanya LattnerN: Patrick Jenkins
102df4283c8f9670edc50ab5440d655c290cf0f6d49Tanya LattnerE: patjenk@wam.umd.edu
103df4283c8f9670edc50ab5440d655c290cf0f6d49Tanya LattnerD: Nightly Tester
104df4283c8f9670edc50ab5440d655c290cf0f6d49Tanya Lattner
105323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha BrukmanN: Brad Jones
106323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha BrukmanE: kungfoomaster@nondot.org
107323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha BrukmanD: Support for packed types
108323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha Brukman
1092fcdf64ddd12cb91101df2e86c26838e988e605bDale JohannesenN: Dale Johannesen
1102fcdf64ddd12cb91101df2e86c26838e988e605bDale JohannesenE: dalej@apple.com
1112fcdf64ddd12cb91101df2e86c26838e988e605bDale JohannesenD: ARM constant islands improvments
1122fcdf64ddd12cb91101df2e86c26838e988e605bDale Johannesen
113b195d9d365e5f960c93ddfdf10638d5d147d9f6fReid SpencerN: Eric Kidd
114b195d9d365e5f960c93ddfdf10638d5d147d9f6fReid SpencerW: http://randomhacks.net/
115b195d9d365e5f960c93ddfdf10638d5d147d9f6fReid SpencerD: llvm-config script
116b195d9d365e5f960c93ddfdf10638d5d147d9f6fReid Spencer
1178f2105bcb952eeb712f0cac237233bc092d2119fAnton KorobeynikovN: Anton Korobeynikov
1188f2105bcb952eeb712f0cac237233bc092d2119fAnton KorobeynikovE: asl@math.spbu.ru
1198f2105bcb952eeb712f0cac237233bc092d2119fAnton KorobeynikovD: Mingw32 fixes, cross-compiling support, minor changes here and there
1208f2105bcb952eeb712f0cac237233bc092d2119fAnton Korobeynikov
1213acd9181df5d8f76f75a384266e2a78b9a6c4f45Chris LattnerN: Sumant Kowshik
1223acd9181df5d8f76f75a384266e2a78b9a6c4f45Chris LattnerE: kowshik@uiuc.edu
1233acd9181df5d8f76f75a384266e2a78b9a6c4f45Chris LattnerD: Author of the original C backend
1243acd9181df5d8f76f75a384266e2a78b9a6c4f45Chris Lattner
1252330e4d4c4f8008d17f5a38ac0d7b04e139d4131Christopher LambN: Christopher Lamb
1262330e4d4c4f8008d17f5a38ac0d7b04e139d4131Christopher LambE: christopher.lamb@gmail.com
1272330e4d4c4f8008d17f5a38ac0d7b04e139d4131Christopher LambD: aligned load/store support
1282330e4d4c4f8008d17f5a38ac0d7b04e139d4131Christopher Lamb
1294c286c373168269827e104749c75066b26588d58Chris LattnerN: Jim Laskey
1304c286c373168269827e104749c75066b26588d58Chris LattnerE: jlaskey@apple.com
1314c286c373168269827e104749c75066b26588d58Chris LattnerD: Improvements to the PPC backend, instruction scheduling
132abf41f2e0a71274011220ec3db6d1299afd1b2c1Jim LaskeyD: Debug and Dwarf implementation
133abf41f2e0a71274011220ec3db6d1299afd1b2c1Jim LaskeyD: Auto upgrade mangler 
134abf41f2e0a71274011220ec3db6d1299afd1b2c1Jim LaskeyD: llvm-gcc4 svn wrangler
1354c286c373168269827e104749c75066b26588d58Chris Lattner
136b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Chris Lattner
137b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanE: sabre@nondot.org
138b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanW: http://nondot.org/~sabre/
139b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: Primary architect of LLVM
140b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman
141f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya LattnerN: Tanya Lattner (formerly Tanya Brethour)
142f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya LattnerE: tonic@nondot.org
143f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya LattnerW: http://nondot.org/~tonic/
144f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya LattnerD: The initial llvm-ar tool, converted regression testsuite to dejagnu
145f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya LattnerD: Modulo scheduling in the SparcV9 backend
146df4283c8f9670edc50ab5440d655c290cf0f6d49Tanya LattnerD: Release manager (1.7+)
147f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya Lattner
148e9b0a02579b9a5153fe8fe5c029870e2e93e48a1Misha BrukmanN: Andrew Lenharth
149e9b0a02579b9a5153fe8fe5c029870e2e93e48a1Misha BrukmanE: alenhar2@cs.uiuc.edu
150e9b0a02579b9a5153fe8fe5c029870e2e93e48a1Misha BrukmanW: http://www.lenharth.org/~andrewl/
151e9b0a02579b9a5153fe8fe5c029870e2e93e48a1Misha BrukmanD: Alpha backend
15263223c93d83f9f3bb1f2369c84639696268a2858Andrew LenharthD: Sampling based profiling
153e9b0a02579b9a5153fe8fe5c029870e2e93e48a1Misha Brukman
15497198c9b1b983b15156585098d13d5f4898ab994Nick LewyckyN: Nick Lewycky
15597198c9b1b983b15156585098d13d5f4898ab994Nick LewyckyE: nicholas@mxc.ca
15697198c9b1b983b15156585098d13d5f4898ab994Nick LewyckyD: PredicateSimplifier pass
15797198c9b1b983b15156585098d13d5f4898ab994Nick Lewycky
158735e0acba5695d26826bb4aa0beda497a60e7810Duraid MadinaN: Duraid Madina
159735e0acba5695d26826bb4aa0beda497a60e7810Duraid MadinaE: duraid@octopus.com.au
160735e0acba5695d26826bb4aa0beda497a60e7810Duraid MadinaW: http://kinoko.c.u-tokyo.ac.jp/~duraid/
161735e0acba5695d26826bb4aa0beda497a60e7810Duraid MadinaD: IA64 backend
162735e0acba5695d26826bb4aa0beda497a60e7810Duraid Madina
1639626470f109752ddd3b12469aae30df8d121a056Chris LattnerN: Michael McCracken
1649626470f109752ddd3b12469aae30df8d121a056Chris LattnerE: michael.mccracken@gmail.com
1659626470f109752ddd3b12469aae30df8d121a056Chris LattnerD: Line number support for llvmgcc
1669626470f109752ddd3b12469aae30df8d121a056Chris Lattner
167b8356b3ce2d1913d466ac4dc1812d7e2520527ddChris LattnerN: Vladimir Merzliakov
168b8356b3ce2d1913d466ac4dc1812d7e2520527ddChris LattnerE: wanderer@rsu.ru
169323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha BrukmanD: Test suite fixes for FreeBSD
170b8356b3ce2d1913d466ac4dc1812d7e2520527ddChris Lattner
171309ca69064f027702499605fc98f76ea8d34fd37Misha BrukmanN: Morten Ofstad
172309ca69064f027702499605fc98f76ea8d34fd37Misha BrukmanE: morten@hue.no
173309ca69064f027702499605fc98f76ea8d34fd37Misha BrukmanD: Visual C++ compatibility fixes 
174309ca69064f027702499605fc98f76ea8d34fd37Misha Brukman
1751f7a9bc982aaad336963dce582c0ad82d5076274Devang PatelN: Devang Patel
1761f7a9bc982aaad336963dce582c0ad82d5076274Devang PatelE: dpatel@apple.com
1771f7a9bc982aaad336963dce582c0ad82d5076274Devang PatelD: LTO tool, PassManager rewrite, Loop Pass Manager, Loop Rotate
1781f7a9bc982aaad336963dce582c0ad82d5076274Devang PatelD: GCC PCH Integration (llvm-gcc), llvm-gcc improvements
1791f7a9bc982aaad336963dce582c0ad82d5076274Devang PatelD: Optimizer improvements
1801f7a9bc982aaad336963dce582c0ad82d5076274Devang Patel
181b7206e74fc9cae6533593853a9763a4b6257f5a2Misha BrukmanN: Vladimir Prus
1821100eea8d2d948306efb70159eb89073a686d234Vladimir PrusW: http://vladimir_prus.blogspot.com
183b7206e74fc9cae6533593853a9763a4b6257f5a2Misha BrukmanE: ghost@cs.msu.su
1849cd94d72b0cc5014c09775f2050cdd868baaa3e3Misha BrukmanD: Made inst_iterator behave like a proper iterator, LowerConstantExprs pass
185b7206e74fc9cae6533593853a9763a4b6257f5a2Misha Brukman
186af2d3793c2c16ad4069d18b1ec7b3fa16fdd2d97Anton KorobeynikovN: Roman Samoilov
187af2d3793c2c16ad4069d18b1ec7b3fa16fdd2d97Anton KorobeynikovE: roman@codedgers.com
188af2d3793c2c16ad4069d18b1ec7b3fa16fdd2d97Anton KorobeynikovD: MSIL backend
189af2d3793c2c16ad4069d18b1ec7b3fa16fdd2d97Anton Korobeynikov
190ef476fdce2d194b5b335c15cd8a545ceeeb633b1Duncan SandsN: Duncan Sands
191ef476fdce2d194b5b335c15cd8a545ceeeb633b1Duncan SandsE: baldrick@free.fr
192ef476fdce2d194b5b335c15cd8a545ceeeb633b1Duncan SandsD: Ada front-end
193ef476fdce2d194b5b335c15cd8a545ceeeb633b1Duncan Sands
194b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Ruchira Sasanka
195b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanE: sasanka@uiuc.edu
196b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: Graph coloring register allocator for the Sparc64 backend
197b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman
198b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Anand Shukla
199b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanE: ashukla@cs.uiuc.edu
2002d7721457a7587285c46f1543185cef93164457cMisha BrukmanD: The `paths' pass
201b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman
20275920ee4608c556711df852cda647b5a13075f03Brian GaekeN: Reid Spencer
2033336aa056f050770374ac9c92bd23a435dd5d7ccReid SpencerE: rspencer@reidspencer.com
2043336aa056f050770374ac9c92bd23a435dd5d7ccReid SpencerW: http://reidspencer.com/
20571ddd5319a221e6391479498601aa790ea25f52dReid SpencerD: Stacker, llvmc, llvm-ld, llvm-ar, llvm2cpp, lib/Archive, lib/Linker, 
20671ddd5319a221e6391479498601aa790ea25f52dReid SpencerD: lib/System, bytecode enhancements, symtab hacking, unoverloading of 
20771ddd5319a221e6391479498601aa790ea25f52dReid SpencerD: intrinsics, makefile and configuration system, documentation, various bug 
20871ddd5319a221e6391479498601aa790ea25f52dReid SpencerD: fixing.
20975920ee4608c556711df852cda647b5a13075f03Brian Gaeke
2103363e2786c55097e145abf7235c1ae944ebe0bb6Chris LattnerN: Adam Treat
2113363e2786c55097e145abf7235c1ae944ebe0bb6Chris LattnerE: manyoso@yahoo.com
2123363e2786c55097e145abf7235c1ae944ebe0bb6Chris LattnerD: C++ bugs filed, and C++ front-end bug fixes.
2133363e2786c55097e145abf7235c1ae944ebe0bb6Chris Lattner
214b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Bill Wendling
215936ef2fdb9fdbb8fbbafef17ef0a3c40ba176e21Chris LattnerE: isanbard@gmail.com
216b4e80c5735bf879bebde278baa4bc23fbdc2fa16Bill WendlingW: http://web.mac.com/bwendling/
2172d7721457a7587285c46f1543185cef93164457cMisha BrukmanD: The `Lower Setjmp/Longjmp' pass, improvements to the -lowerswitch pass.
218