1This file is a partial list of people who have contributed to the LLVM 2project. If you have contributed a patch or made some other contribution to 3LLVM, please submit a patch to this file to add yourself, and it will be 4done! 5 6The list is sorted by surname and formatted to allow easy grepping and 7beautification by scripts. The fields are: name (N), email (E), web-address 8(W), PGP key ID and fingerprint (P), description (D), and snail-mail address 9(S). 10 11 12N: Vikram Adve 13E: vadve@cs.uiuc.edu 14W: http://www.cs.uiuc.edu/~vadve/ 15D: The Sparc64 backend, provider of much wisdom, and motivator for LLVM 16 17N: Owen Anderson 18E: resistor@mac.com 19D: LCSSA pass and related LoopUnswitch work 20D: GVNPRE pass, TargetData refactoring, random improvements 21 22N: Henrik Bach 23D: MingW Win32 API portability layer 24 25N: Nate Begeman 26E: natebegeman@mac.com 27D: PowerPC backend developer 28D: Target-independent code generator and analysis improvements 29 30N: Daniel Berlin 31E: dberlin@dberlin.org 32D: ET-Forest implementation. 33D: Sparse bitmap 34 35N: David Blaikie 36E: dblaikie@gmail.com 37D: General bug fixing/fit & finish, mostly in Clang 38 39N: Neil Booth 40E: neil@daikokuya.co.uk 41D: APFloat implementation. 42 43N: Misha Brukman 44E: brukman+llvm@uiuc.edu 45W: http://misha.brukman.net 46D: Portions of X86 and Sparc JIT compilers, PowerPC backend 47D: Incremental bitcode loader 48 49N: Cameron Buschardt 50E: buschard@uiuc.edu 51D: The `mem2reg' pass - promotes values stored in memory to registers 52 53N: Chandler Carruth 54E: chandlerc@gmail.com 55D: LinkTimeOptimizer for Linux, via binutils integration, and C API 56 57N: Casey Carter 58E: ccarter@uiuc.edu 59D: Fixes to the Reassociation pass, various improvement patches 60 61N: Evan Cheng 62E: evan.cheng@apple.com 63D: ARM and X86 backends 64D: Instruction scheduler improvements 65D: Register allocator improvements 66D: Loop optimizer improvements 67D: Target-independent code generator improvements 68 69N: Dan Villiom Podlaski Christiansen 70E: danchr@gmail.com 71E: danchr@cs.au.dk 72W: http://villiom.dk 73D: LLVM Makefile improvements 74D: Clang diagnostic & driver tweaks 75S: Aarhus, Denmark 76 77N: Jeff Cohen 78E: jeffc@jolt-lang.org 79W: http://jolt-lang.org 80D: Native Win32 API portability layer 81 82N: John T. Criswell 83E: criswell@uiuc.edu 84D: Original Autoconf support, documentation improvements, bug fixes 85 86N: Stefanus Du Toit 87E: stefanus.dutoit@rapidmind.com 88D: Bug fixes and minor improvements 89 90N: Rafael Avila de Espindola 91E: rafael.espindola@gmail.com 92D: The ARM backend 93 94N: Alkis Evlogimenos 95E: alkis@evlogimenos.com 96D: Linear scan register allocator, many codegen improvements, Java frontend 97 98N: Ryan Flynn 99E: pizza@parseerror.com 100D: Miscellaneous bug fixes 101 102N: Brian Gaeke 103E: gaeke@uiuc.edu 104W: http://www.students.uiuc.edu/~gaeke/ 105D: Portions of X86 static and JIT compilers; initial SparcV8 backend 106D: Dynamic trace optimizer 107D: FreeBSD/X86 compatibility fixes, the llvm-nm tool 108 109N: Nicolas Geoffray 110E: nicolas.geoffray@lip6.fr 111W: http://www-src.lip6.fr/homepages/Nicolas.Geoffray/ 112D: PPC backend fixes for Linux 113 114N: Louis Gerbarg 115D: Portions of the PowerPC backend 116 117N: Saem Ghani 118E: saemghani@gmail.com 119D: Callgraph class cleanups 120 121N: Mikhail Glushenkov 122E: foldr@codedgers.com 123D: Author of llvmc2 124 125N: Dan Gohman 126E: gohman@apple.com 127D: Miscellaneous bug fixes 128 129N: David Goodwin 130E: david@goodwinz.net 131D: Thumb-2 code generator 132 133N: David Greene 134E: greened@obbligato.org 135D: Miscellaneous bug fixes 136D: Register allocation refactoring 137 138N: Gabor Greif 139E: ggreif@gmail.com 140D: Improvements for space efficiency 141 142N: James Grosbach 143E: grosbach@apple.com 144D: SjLj exception handling support 145D: General fixes and improvements for the ARM back-end 146 147N: Lang Hames 148E: lhames@gmail.com 149D: PBQP-based register allocator 150 151N: Gordon Henriksen 152E: gordonhenriksen@mac.com 153D: Pluggable GC support 154D: C interface 155D: Ocaml bindings 156 157N: Raul Fernandes Herbster 158E: raul@dsc.ufcg.edu.br 159D: JIT support for ARM 160 161N: Paolo Invernizzi 162E: arathorn@fastwebnet.it 163D: Visual C++ compatibility fixes 164 165N: Patrick Jenkins 166E: patjenk@wam.umd.edu 167D: Nightly Tester 168 169N: Dale Johannesen 170E: dalej@apple.com 171D: ARM constant islands improvements 172D: Tail merging improvements 173D: Rewrite X87 back end 174D: Use APFloat for floating point constants widely throughout compiler 175D: Implement X87 long double 176 177N: Brad Jones 178E: kungfoomaster@nondot.org 179D: Support for packed types 180 181N: Rod Kay 182E: rkay@auroraux.org 183D: Author of LLVM Ada bindings 184 185N: Eric Kidd 186W: http://randomhacks.net/ 187D: llvm-config script 188 189N: Anton Korobeynikov 190E: asl@math.spbu.ru 191D: Mingw32 fixes, cross-compiling support, stdcall/fastcall calling conv. 192D: x86/linux PIC codegen, aliases, regparm/visibility attributes 193D: Switch lowering refactoring 194 195N: Sumant Kowshik 196E: kowshik@uiuc.edu 197D: Author of the original C backend 198 199N: Benjamin Kramer 200E: benny.kra@gmail.com 201D: Miscellaneous bug fixes 202 203N: Christopher Lamb 204E: christopher.lamb@gmail.com 205D: aligned load/store support, parts of noalias and restrict support 206D: vreg subreg infrastructure, X86 codegen improvements based on subregs 207D: address spaces 208 209N: Jim Laskey 210E: jlaskey@apple.com 211D: Improvements to the PPC backend, instruction scheduling 212D: Debug and Dwarf implementation 213D: Auto upgrade mangler 214D: llvm-gcc4 svn wrangler 215 216N: Chris Lattner 217E: sabre@nondot.org 218W: http://nondot.org/~sabre/ 219D: Primary architect of LLVM 220 221N: Tanya Lattner (Tanya Brethour) 222E: tonic@nondot.org 223W: http://nondot.org/~tonic/ 224D: The initial llvm-ar tool, converted regression testsuite to dejagnu 225D: Modulo scheduling in the SparcV9 backend 226D: Release manager (1.7+) 227 228N: Andrew Lenharth 229E: alenhar2@cs.uiuc.edu 230W: http://www.lenharth.org/~andrewl/ 231D: Alpha backend 232D: Sampling based profiling 233 234N: Nick Lewycky 235E: nicholas@mxc.ca 236D: PredicateSimplifier pass 237 238N: Bruno Cardoso Lopes 239E: bruno.cardoso@gmail.com 240W: http://www.brunocardoso.org 241D: The Mips backend 242 243N: Duraid Madina 244E: duraid@octopus.com.au 245W: http://kinoko.c.u-tokyo.ac.jp/~duraid/ 246D: IA64 backend, BigBlock register allocator 247 248N: John McCall 249E: rjmccall@apple.com 250D: Clang semantic analysis and IR generation 251 252N: Michael McCracken 253E: michael.mccracken@gmail.com 254D: Line number support for llvmgcc 255 256N: Vladimir Merzliakov 257E: wanderer@rsu.ru 258D: Test suite fixes for FreeBSD 259 260N: Scott Michel 261E: scottm@aero.org 262D: Added STI Cell SPU backend. 263 264N: Takumi Nakamura 265E: geek4civic@gmail.com 266E: chapuni@hf.rim.or.jp 267D: Cygwin and MinGW support. 268S: Yokohama, Japan 269 270N: Edward O'Callaghan 271E: eocallaghan@auroraux.org 272W: http://www.auroraux.org 273D: Add Clang support with various other improvements to utils/NewNightlyTest.pl 274D: Fix and maintain Solaris & AuroraUX support for llvm, various build warnings 275D: and error clean ups. 276 277N: Morten Ofstad 278E: morten@hue.no 279D: Visual C++ compatibility fixes 280 281N: Jakob Stoklund Olesen 282E: stoklund@2pi.dk 283D: Machine code verifier 284D: Blackfin backend 285D: Fast register allocator 286D: Greedy register allocator 287 288N: Richard Osborne 289E: richard@xmos.com 290D: XCore backend 291 292N: Devang Patel 293E: dpatel@apple.com 294D: LTO tool, PassManager rewrite, Loop Pass Manager, Loop Rotate 295D: GCC PCH Integration (llvm-gcc), llvm-gcc improvements 296D: Optimizer improvements, Loop Index Split 297 298N: Sandeep Patel 299E: deeppatel1987@gmail.com 300D: ARM calling conventions rewrite, hard float support 301 302N: Wesley Peck 303E: peckw@wesleypeck.com 304W: http://wesleypeck.com/ 305D: MicroBlaze backend 306 307N: Francois Pichet 308E: pichet2000@gmail.com 309D: MSVC support 310 311N: Vladimir Prus 312W: http://vladimir_prus.blogspot.com 313E: ghost@cs.msu.su 314D: Made inst_iterator behave like a proper iterator, LowerConstantExprs pass 315 316N: Roman Samoilov 317E: roman@codedgers.com 318D: MSIL backend 319 320N: Duncan Sands 321E: baldrick@free.fr 322D: Ada support in llvm-gcc 323D: Dragonegg plugin 324D: Exception handling improvements 325D: Type legalizer rewrite 326 327N: Ruchira Sasanka 328E: sasanka@uiuc.edu 329D: Graph coloring register allocator for the Sparc64 backend 330 331N: Arnold Schwaighofer 332E: arnold.schwaighofer@gmail.com 333D: Tail call optimization for the x86 backend 334 335N: Shantonu Sen 336E: ssen@apple.com 337D: Miscellaneous bug fixes 338 339N: Anand Shukla 340E: ashukla@cs.uiuc.edu 341D: The `paths' pass 342 343N: Michael J. Spencer 344E: bigcheesegs@gmail.com 345D: Shepherding Windows COFF support into MC. 346D: Lots of Windows stuff. 347 348N: Reid Spencer 349E: rspencer@reidspencer.com 350W: http://reidspencer.com/ 351D: Lots of stuff, see: http://wiki.llvm.org/index.php/User:Reid 352 353N: Edwin Torok 354E: edwintorok@gmail.com 355D: Miscellaneous bug fixes 356 357N: Adam Treat 358E: manyoso@yahoo.com 359D: C++ bugs filed, and C++ front-end bug fixes. 360 361N: Lauro Ramos Venancio 362E: lauro.venancio@indt.org.br 363D: ARM backend improvements 364D: Thread Local Storage implementation 365 366N: Xerxes Ranby 367E: xerxes@zafena.se 368D: Cmake dependency chain and various bug fixes 369 370N: Bill Wendling 371E: wendling@apple.com 372D: Bunches of stuff 373 374N: Bob Wilson 375E: bob.wilson@acm.org 376D: Advanced SIMD (NEON) support in the ARM backend 377