CREDITS.TXT revision addccfd0060473f0ef3b731a08d4b384e8b9f8f9
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 52fc32dcbdda713cd1f3e27aeaa5a0722df1896c66Evan ChengD: X86 backend developer 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 81f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanN: Louis Gerbarg 82f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanD: Portions of the PowerPC backend 83f200eee6ac761044d24de0c89ee3224d589fd72bMisha Brukman 844e514c1f0c5794d24eff32b9a7ecce935110113eChris LattnerN: Saem Ghani 854e514c1f0c5794d24eff32b9a7ecce935110113eChris LattnerE: saemghani@gmail.com 864e514c1f0c5794d24eff32b9a7ecce935110113eChris LattnerD: Callgraph class cleanups 874e514c1f0c5794d24eff32b9a7ecce935110113eChris Lattner 88addccfd0060473f0ef3b731a08d4b384e8b9f8f9Dan GohmanN: Dan Gohman 89addccfd0060473f0ef3b731a08d4b384e8b9f8f9Dan GohmanE: djg@cray.com 90addccfd0060473f0ef3b731a08d4b384e8b9f8f9Dan GohmanD: Miscellaneous bug fixes 91addccfd0060473f0ef3b731a08d4b384e8b9f8f9Dan Gohman 92f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerN: Paolo Invernizzi 93309ca69064f027702499605fc98f76ea8d34fd37Misha BrukmanE: arathorn@fastwebnet.it 94f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerD: Visual C++ compatibility fixes 95f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris Lattner 96df4283c8f9670edc50ab5440d655c290cf0f6d49Tanya LattnerN: Patrick Jenkins 97df4283c8f9670edc50ab5440d655c290cf0f6d49Tanya LattnerE: patjenk@wam.umd.edu 98df4283c8f9670edc50ab5440d655c290cf0f6d49Tanya LattnerD: Nightly Tester 99df4283c8f9670edc50ab5440d655c290cf0f6d49Tanya Lattner 100323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha BrukmanN: Brad Jones 101323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha BrukmanE: kungfoomaster@nondot.org 102323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha BrukmanD: Support for packed types 103323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha Brukman 104b195d9d365e5f960c93ddfdf10638d5d147d9f6fReid SpencerN: Eric Kidd 105b195d9d365e5f960c93ddfdf10638d5d147d9f6fReid SpencerW: http://randomhacks.net/ 106b195d9d365e5f960c93ddfdf10638d5d147d9f6fReid SpencerD: llvm-config script 107b195d9d365e5f960c93ddfdf10638d5d147d9f6fReid Spencer 1088f2105bcb952eeb712f0cac237233bc092d2119fAnton KorobeynikovN: Anton Korobeynikov 1098f2105bcb952eeb712f0cac237233bc092d2119fAnton KorobeynikovE: asl@math.spbu.ru 1108f2105bcb952eeb712f0cac237233bc092d2119fAnton KorobeynikovD: Mingw32 fixes, cross-compiling support, minor changes here and there 1118f2105bcb952eeb712f0cac237233bc092d2119fAnton Korobeynikov 1123acd9181df5d8f76f75a384266e2a78b9a6c4f45Chris LattnerN: Sumant Kowshik 1133acd9181df5d8f76f75a384266e2a78b9a6c4f45Chris LattnerE: kowshik@uiuc.edu 1143acd9181df5d8f76f75a384266e2a78b9a6c4f45Chris LattnerD: Author of the original C backend 1153acd9181df5d8f76f75a384266e2a78b9a6c4f45Chris Lattner 1164c286c373168269827e104749c75066b26588d58Chris LattnerN: Jim Laskey 1174c286c373168269827e104749c75066b26588d58Chris LattnerE: jlaskey@apple.com 1184c286c373168269827e104749c75066b26588d58Chris LattnerD: Improvements to the PPC backend, instruction scheduling 119abf41f2e0a71274011220ec3db6d1299afd1b2c1Jim LaskeyD: Debug and Dwarf implementation 120abf41f2e0a71274011220ec3db6d1299afd1b2c1Jim LaskeyD: Auto upgrade mangler 121abf41f2e0a71274011220ec3db6d1299afd1b2c1Jim LaskeyD: llvm-gcc4 svn wrangler 1224c286c373168269827e104749c75066b26588d58Chris Lattner 123b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Chris Lattner 124b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanE: sabre@nondot.org 125b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanW: http://nondot.org/~sabre/ 126b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: Primary architect of LLVM 127b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman 128f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya LattnerN: Tanya Lattner (formerly Tanya Brethour) 129f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya LattnerE: tonic@nondot.org 130f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya LattnerW: http://nondot.org/~tonic/ 131f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya LattnerD: The initial llvm-ar tool, converted regression testsuite to dejagnu 132f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya LattnerD: Modulo scheduling in the SparcV9 backend 133df4283c8f9670edc50ab5440d655c290cf0f6d49Tanya LattnerD: Release manager (1.7+) 134f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya Lattner 135e9b0a02579b9a5153fe8fe5c029870e2e93e48a1Misha BrukmanN: Andrew Lenharth 136e9b0a02579b9a5153fe8fe5c029870e2e93e48a1Misha BrukmanE: alenhar2@cs.uiuc.edu 137e9b0a02579b9a5153fe8fe5c029870e2e93e48a1Misha BrukmanW: http://www.lenharth.org/~andrewl/ 138e9b0a02579b9a5153fe8fe5c029870e2e93e48a1Misha BrukmanD: Alpha backend 13963223c93d83f9f3bb1f2369c84639696268a2858Andrew LenharthD: Sampling based profiling 140e9b0a02579b9a5153fe8fe5c029870e2e93e48a1Misha Brukman 14197198c9b1b983b15156585098d13d5f4898ab994Nick LewyckyN: Nick Lewycky 14297198c9b1b983b15156585098d13d5f4898ab994Nick LewyckyE: nicholas@mxc.ca 14397198c9b1b983b15156585098d13d5f4898ab994Nick LewyckyD: PredicateSimplifier pass 14497198c9b1b983b15156585098d13d5f4898ab994Nick Lewycky 145735e0acba5695d26826bb4aa0beda497a60e7810Duraid MadinaN: Duraid Madina 146735e0acba5695d26826bb4aa0beda497a60e7810Duraid MadinaE: duraid@octopus.com.au 147735e0acba5695d26826bb4aa0beda497a60e7810Duraid MadinaW: http://kinoko.c.u-tokyo.ac.jp/~duraid/ 148735e0acba5695d26826bb4aa0beda497a60e7810Duraid MadinaD: IA64 backend 149735e0acba5695d26826bb4aa0beda497a60e7810Duraid Madina 1509626470f109752ddd3b12469aae30df8d121a056Chris LattnerN: Michael McCracken 1519626470f109752ddd3b12469aae30df8d121a056Chris LattnerE: michael.mccracken@gmail.com 1529626470f109752ddd3b12469aae30df8d121a056Chris LattnerD: Line number support for llvmgcc 1539626470f109752ddd3b12469aae30df8d121a056Chris Lattner 154b8356b3ce2d1913d466ac4dc1812d7e2520527ddChris LattnerN: Vladimir Merzliakov 155b8356b3ce2d1913d466ac4dc1812d7e2520527ddChris LattnerE: wanderer@rsu.ru 156323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha BrukmanD: Test suite fixes for FreeBSD 157b8356b3ce2d1913d466ac4dc1812d7e2520527ddChris Lattner 158309ca69064f027702499605fc98f76ea8d34fd37Misha BrukmanN: Morten Ofstad 159309ca69064f027702499605fc98f76ea8d34fd37Misha BrukmanE: morten@hue.no 160309ca69064f027702499605fc98f76ea8d34fd37Misha BrukmanD: Visual C++ compatibility fixes 161309ca69064f027702499605fc98f76ea8d34fd37Misha Brukman 162b7206e74fc9cae6533593853a9763a4b6257f5a2Misha BrukmanN: Vladimir Prus 1631100eea8d2d948306efb70159eb89073a686d234Vladimir PrusW: http://vladimir_prus.blogspot.com 164b7206e74fc9cae6533593853a9763a4b6257f5a2Misha BrukmanE: ghost@cs.msu.su 1659cd94d72b0cc5014c09775f2050cdd868baaa3e3Misha BrukmanD: Made inst_iterator behave like a proper iterator, LowerConstantExprs pass 166b7206e74fc9cae6533593853a9763a4b6257f5a2Misha Brukman 167b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Ruchira Sasanka 168b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanE: sasanka@uiuc.edu 169b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: Graph coloring register allocator for the Sparc64 backend 170b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman 171b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Anand Shukla 172b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanE: ashukla@cs.uiuc.edu 1732d7721457a7587285c46f1543185cef93164457cMisha BrukmanD: The `paths' pass 174b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman 17575920ee4608c556711df852cda647b5a13075f03Brian GaekeN: Reid Spencer 1763336aa056f050770374ac9c92bd23a435dd5d7ccReid SpencerE: rspencer@reidspencer.com 1773336aa056f050770374ac9c92bd23a435dd5d7ccReid SpencerW: http://reidspencer.com/ 17871ddd5319a221e6391479498601aa790ea25f52dReid SpencerD: Stacker, llvmc, llvm-ld, llvm-ar, llvm2cpp, lib/Archive, lib/Linker, 17971ddd5319a221e6391479498601aa790ea25f52dReid SpencerD: lib/System, bytecode enhancements, symtab hacking, unoverloading of 18071ddd5319a221e6391479498601aa790ea25f52dReid SpencerD: intrinsics, makefile and configuration system, documentation, various bug 18171ddd5319a221e6391479498601aa790ea25f52dReid SpencerD: fixing. 18275920ee4608c556711df852cda647b5a13075f03Brian Gaeke 1833363e2786c55097e145abf7235c1ae944ebe0bb6Chris LattnerN: Adam Treat 1843363e2786c55097e145abf7235c1ae944ebe0bb6Chris LattnerE: manyoso@yahoo.com 1853363e2786c55097e145abf7235c1ae944ebe0bb6Chris LattnerD: C++ bugs filed, and C++ front-end bug fixes. 1863363e2786c55097e145abf7235c1ae944ebe0bb6Chris Lattner 187b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Bill Wendling 188936ef2fdb9fdbb8fbbafef17ef0a3c40ba176e21Chris LattnerE: isanbard@gmail.com 189b4e80c5735bf879bebde278baa4bc23fbdc2fa16Bill WendlingW: http://web.mac.com/bwendling/ 1902d7721457a7587285c46f1543185cef93164457cMisha BrukmanD: The `Lower Setjmp/Longjmp' pass, improvements to the -lowerswitch pass. 191