CREDITS.TXT revision a3fdc024669beedc938360c7fee3349fe7a4a48f
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 16f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerN: Henrik Bach 17f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerD: MingW Win32 API portability layer 18f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris Lattner 19f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanN: Nate Begeman 20f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanE: natebegeman@mac.com 21e5ce8479244a293aa46d94d1aa49d1769f35ba7bNate BegemanD: PowerPC backend developer 22e5ce8479244a293aa46d94d1aa49d1769f35ba7bNate BegemanD: Target-independent code generator and analysis improvements 23f200eee6ac761044d24de0c89ee3224d589fd72bMisha Brukman 244e6b17a41bc97da1e7addd6b184e6901a0f638a0Chris LattnerN: Daniel Berlin 254e6b17a41bc97da1e7addd6b184e6901a0f638a0Chris LattnerE: dberlin@dberlin.org 264e6b17a41bc97da1e7addd6b184e6901a0f638a0Chris LattnerD: ET-Forest implementation. 274e6b17a41bc97da1e7addd6b184e6901a0f638a0Chris Lattner 28b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Misha Brukman 292d7721457a7587285c46f1543185cef93164457cMisha BrukmanE: brukman+llvm@uiuc.edu 30b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanW: http://misha.brukman.net 31f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanD: Portions of X86 and Sparc JIT compilers, PowerPC backend 32f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanD: Incremental bytecode loader 33b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman 34b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Cameron Buschardt 352d7721457a7587285c46f1543185cef93164457cMisha BrukmanE: buschard@uiuc.edu 360fc20c82bcf82a3a802bedf480b8e89048df2371Misha BrukmanD: The `mem2reg' pass - promotes values stored in memory to registers 37b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman 38b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Casey Carter 392d7721457a7587285c46f1543185cef93164457cMisha BrukmanE: ccarter@uiuc.edu 40b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: Fixes to the Reassociation pass, various improvement patches 41b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman 424c286c373168269827e104749c75066b26588d58Chris LattnerN: Evan Cheng 434c286c373168269827e104749c75066b26588d58Chris LattnerE: evan.cheng@apple.com 44fc32dcbdda713cd1f3e27aeaa5a0722df1896c66Evan ChengD: X86 backend developer 45fc32dcbdda713cd1f3e27aeaa5a0722df1896c66Evan ChengD: Instruction scheduler improvements 46fc32dcbdda713cd1f3e27aeaa5a0722df1896c66Evan ChengD: Loop optimizer improvements 47fc32dcbdda713cd1f3e27aeaa5a0722df1896c66Evan ChengD: Target-independent code generator improvements 484c286c373168269827e104749c75066b26588d58Chris Lattner 49f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerN: Jeff Cohen 500939d7745298ae84ef4e0adcbc872125c0faf544Jeff CohenE: jeffc@jolt-lang.org 510939d7745298ae84ef4e0adcbc872125c0faf544Jeff CohenW: http://jolt-lang.org 52f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerD: Native Win32 API portability layer 53f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris Lattner 542d7721457a7587285c46f1543185cef93164457cMisha BrukmanN: John T. Criswell 552d7721457a7587285c46f1543185cef93164457cMisha BrukmanE: criswell@uiuc.edu 562d7721457a7587285c46f1543185cef93164457cMisha BrukmanD: Autoconf support, QMTest database, documentation improvements 572d7721457a7587285c46f1543185cef93164457cMisha Brukman 58a3fdc024669beedc938360c7fee3349fe7a4a48fRafael EspindolaN: Rafael Avila de Espindola 59a3fdc024669beedc938360c7fee3349fe7a4a48fRafael EspindolaE: rafael.espindola@gmail.com 60a3fdc024669beedc938360c7fee3349fe7a4a48fRafael EspindolaD: The ARM backend 61a3fdc024669beedc938360c7fee3349fe7a4a48fRafael Espindola 624ce08a0a47d0708455195237ac30b626dcdf969aChris LattnerN: Alkis Evlogimenos 63ab5948f2427a1b7f3f92e338fb70f682d81c0fb6Alkis EvlogimenosE: alkis@evlogimenos.com 644ce08a0a47d0708455195237ac30b626dcdf969aChris LattnerD: Linear scan register allocator, many codegen improvements, Java frontend 654ce08a0a47d0708455195237ac30b626dcdf969aChris Lattner 66b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Brian Gaeke 67b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanE: gaeke@uiuc.edu 68b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanW: http://www.students.uiuc.edu/~gaeke/ 694e514c1f0c5794d24eff32b9a7ecce935110113eChris LattnerD: Portions of X86 static and JIT compilers; initial SparcV8 backend 70d56bd42b917a81adc75af566d2bf6a3f42b9f0d3Brian GaekeD: Dynamic trace optimizer 712d7721457a7587285c46f1543185cef93164457cMisha BrukmanD: FreeBSD/X86 compatibility fixes, the llvm-nm tool 72b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman 73f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanN: Louis Gerbarg 74f200eee6ac761044d24de0c89ee3224d589fd72bMisha BrukmanD: Portions of the PowerPC backend 75f200eee6ac761044d24de0c89ee3224d589fd72bMisha Brukman 764e514c1f0c5794d24eff32b9a7ecce935110113eChris LattnerN: Saem Ghani 774e514c1f0c5794d24eff32b9a7ecce935110113eChris LattnerE: saemghani@gmail.com 784e514c1f0c5794d24eff32b9a7ecce935110113eChris LattnerD: Callgraph class cleanups 794e514c1f0c5794d24eff32b9a7ecce935110113eChris Lattner 80f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerN: Paolo Invernizzi 81309ca69064f027702499605fc98f76ea8d34fd37Misha BrukmanE: arathorn@fastwebnet.it 82f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris LattnerD: Visual C++ compatibility fixes 83f69dcb15c3b75a267c6e35d914a83d6c3445a192Chris Lattner 84323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha BrukmanN: Brad Jones 85323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha BrukmanE: kungfoomaster@nondot.org 86323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha BrukmanD: Support for packed types 87323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha Brukman 88b195d9d365e5f960c93ddfdf10638d5d147d9f6fReid SpencerN: Eric Kidd 89b195d9d365e5f960c93ddfdf10638d5d147d9f6fReid SpencerW: http://randomhacks.net/ 90b195d9d365e5f960c93ddfdf10638d5d147d9f6fReid SpencerD: llvm-config script 91b195d9d365e5f960c93ddfdf10638d5d147d9f6fReid Spencer 923acd9181df5d8f76f75a384266e2a78b9a6c4f45Chris LattnerN: Sumant Kowshik 933acd9181df5d8f76f75a384266e2a78b9a6c4f45Chris LattnerE: kowshik@uiuc.edu 943acd9181df5d8f76f75a384266e2a78b9a6c4f45Chris LattnerD: Author of the original C backend 953acd9181df5d8f76f75a384266e2a78b9a6c4f45Chris Lattner 964c286c373168269827e104749c75066b26588d58Chris LattnerN: Jim Laskey 974c286c373168269827e104749c75066b26588d58Chris LattnerE: jlaskey@apple.com 984c286c373168269827e104749c75066b26588d58Chris LattnerD: Improvements to the PPC backend, instruction scheduling 991e83c6f5f1ef0cba3348ed44403617ee29d79b02Jim LaskeyD: Debug implementation, Dwarf implementation 1004c286c373168269827e104749c75066b26588d58Chris Lattner 101b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Chris Lattner 102b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanE: sabre@nondot.org 103b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanW: http://nondot.org/~sabre/ 104b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: Primary architect of LLVM 105b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman 106f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya LattnerN: Tanya Lattner (formerly Tanya Brethour) 107f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya LattnerE: tonic@nondot.org 108f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya LattnerW: http://nondot.org/~tonic/ 109f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya LattnerD: The initial llvm-ar tool, converted regression testsuite to dejagnu 110f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya LattnerD: Modulo scheduling in the SparcV9 backend 111f2dce8d29b58a86fe5a9221e47247bcbe0d97118Tanya Lattner 112e9b0a02579b9a5153fe8fe5c029870e2e93e48a1Misha BrukmanN: Andrew Lenharth 113e9b0a02579b9a5153fe8fe5c029870e2e93e48a1Misha BrukmanE: alenhar2@cs.uiuc.edu 114e9b0a02579b9a5153fe8fe5c029870e2e93e48a1Misha BrukmanW: http://www.lenharth.org/~andrewl/ 115e9b0a02579b9a5153fe8fe5c029870e2e93e48a1Misha BrukmanD: Alpha backend 11663223c93d83f9f3bb1f2369c84639696268a2858Andrew LenharthD: Sampling based profiling 117e9b0a02579b9a5153fe8fe5c029870e2e93e48a1Misha Brukman 118735e0acba5695d26826bb4aa0beda497a60e7810Duraid MadinaN: Duraid Madina 119735e0acba5695d26826bb4aa0beda497a60e7810Duraid MadinaE: duraid@octopus.com.au 120735e0acba5695d26826bb4aa0beda497a60e7810Duraid MadinaW: http://kinoko.c.u-tokyo.ac.jp/~duraid/ 121735e0acba5695d26826bb4aa0beda497a60e7810Duraid MadinaD: IA64 backend 122735e0acba5695d26826bb4aa0beda497a60e7810Duraid Madina 1239626470f109752ddd3b12469aae30df8d121a056Chris LattnerN: Michael McCracken 1249626470f109752ddd3b12469aae30df8d121a056Chris LattnerE: michael.mccracken@gmail.com 1259626470f109752ddd3b12469aae30df8d121a056Chris LattnerD: Line number support for llvmgcc 1269626470f109752ddd3b12469aae30df8d121a056Chris Lattner 127b8356b3ce2d1913d466ac4dc1812d7e2520527ddChris LattnerN: Vladimir Merzliakov 128b8356b3ce2d1913d466ac4dc1812d7e2520527ddChris LattnerE: wanderer@rsu.ru 129323ed35e4fda5247799a8ec384a2d1f39b4c461dMisha BrukmanD: Test suite fixes for FreeBSD 130b8356b3ce2d1913d466ac4dc1812d7e2520527ddChris Lattner 131309ca69064f027702499605fc98f76ea8d34fd37Misha BrukmanN: Morten Ofstad 132309ca69064f027702499605fc98f76ea8d34fd37Misha BrukmanE: morten@hue.no 133309ca69064f027702499605fc98f76ea8d34fd37Misha BrukmanD: Visual C++ compatibility fixes 134309ca69064f027702499605fc98f76ea8d34fd37Misha Brukman 135b7206e74fc9cae6533593853a9763a4b6257f5a2Misha BrukmanN: Vladimir Prus 136b7206e74fc9cae6533593853a9763a4b6257f5a2Misha BrukmanE: ghost@cs.msu.su 1379cd94d72b0cc5014c09775f2050cdd868baaa3e3Misha BrukmanD: Made inst_iterator behave like a proper iterator, LowerConstantExprs pass 138b7206e74fc9cae6533593853a9763a4b6257f5a2Misha Brukman 139b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Ruchira Sasanka 140b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanE: sasanka@uiuc.edu 141b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanD: Graph coloring register allocator for the Sparc64 backend 142b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman 143b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Anand Shukla 144b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanE: ashukla@cs.uiuc.edu 1452d7721457a7587285c46f1543185cef93164457cMisha BrukmanD: The `paths' pass 146b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha Brukman 14775920ee4608c556711df852cda647b5a13075f03Brian GaekeN: Reid Spencer 14875920ee4608c556711df852cda647b5a13075f03Brian GaekeE: rspencer@x10sys.com 149ad4ce52618ca03923d11e3f9f4aa19090687210dReid SpencerW: http://llvm.x10sys.com/rspencer 1505f2090ce5c5b45cfbcb0e945474df143fbb2aabcReid SpencerD: Stacker, llvmc, llvm-ld, llvm-ar, lib/Archive, lib/Linker, lib/System, 1515f2090ce5c5b45cfbcb0e945474df143fbb2aabcReid SpencerD: bytecode enhancements, symtab hacking, unoverloading of intrinsics, makefile 1525f2090ce5c5b45cfbcb0e945474df143fbb2aabcReid SpencerD: and configuration system, documentation. 15375920ee4608c556711df852cda647b5a13075f03Brian Gaeke 1543363e2786c55097e145abf7235c1ae944ebe0bb6Chris LattnerN: Adam Treat 1553363e2786c55097e145abf7235c1ae944ebe0bb6Chris LattnerE: manyoso@yahoo.com 1563363e2786c55097e145abf7235c1ae944ebe0bb6Chris LattnerD: C++ bugs filed, and C++ front-end bug fixes. 1573363e2786c55097e145abf7235c1ae944ebe0bb6Chris Lattner 158b296160ce9693149d6f8d8b8f2596a05d4a8330dMisha BrukmanN: Bill Wendling 15976602528ec7de476452c5b0f7a3314bd3d0577b8Chris LattnerE: wendling@isanbard.org 1602d7721457a7587285c46f1543185cef93164457cMisha BrukmanD: The `Lower Setjmp/Longjmp' pass, improvements to the -lowerswitch pass. 161