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: Brendon Cahoon 54E: bcahoon@codeaurora.org 55D: Loop unrolling with run-time trip counts. 56 57N: Chandler Carruth 58E: chandlerc@gmail.com 59D: Hashing algorithms and interfaces 60D: Inline cost analysis 61D: Machine block placement pass 62 63N: Casey Carter 64E: ccarter@uiuc.edu 65D: Fixes to the Reassociation pass, various improvement patches 66 67N: Evan Cheng 68E: evan.cheng@apple.com 69D: ARM and X86 backends 70D: Instruction scheduler improvements 71D: Register allocator improvements 72D: Loop optimizer improvements 73D: Target-independent code generator improvements 74 75N: Dan Villiom Podlaski Christiansen 76E: danchr@gmail.com 77E: danchr@cs.au.dk 78W: http://villiom.dk 79D: LLVM Makefile improvements 80D: Clang diagnostic & driver tweaks 81S: Aarhus, Denmark 82 83N: Jeff Cohen 84E: jeffc@jolt-lang.org 85W: http://jolt-lang.org 86D: Native Win32 API portability layer 87 88N: John T. Criswell 89E: criswell@uiuc.edu 90D: Original Autoconf support, documentation improvements, bug fixes 91 92N: Anshuman Dasgupta 93E: adasgupt@codeaurora.org 94D: Deterministic finite automaton based infrastructure for VLIW packetization 95 96N: Stefanus Du Toit 97E: stefanus.dutoit@rapidmind.com 98D: Bug fixes and minor improvements 99 100N: Rafael Avila de Espindola 101E: rafael.espindola@gmail.com 102D: The ARM backend 103 104N: Alkis Evlogimenos 105E: alkis@evlogimenos.com 106D: Linear scan register allocator, many codegen improvements, Java frontend 107 108N: Hal Finkel 109E: hfinkel@anl.gov 110D: Basic-block autovectorization, PowerPC backend improvements 111 112N: Ryan Flynn 113E: pizza@parseerror.com 114D: Miscellaneous bug fixes 115 116N: Brian Gaeke 117E: gaeke@uiuc.edu 118W: http://www.students.uiuc.edu/~gaeke/ 119D: Portions of X86 static and JIT compilers; initial SparcV8 backend 120D: Dynamic trace optimizer 121D: FreeBSD/X86 compatibility fixes, the llvm-nm tool 122 123N: Nicolas Geoffray 124E: nicolas.geoffray@lip6.fr 125W: http://www-src.lip6.fr/homepages/Nicolas.Geoffray/ 126D: PPC backend fixes for Linux 127 128N: Louis Gerbarg 129D: Portions of the PowerPC backend 130 131N: Saem Ghani 132E: saemghani@gmail.com 133D: Callgraph class cleanups 134 135N: Mikhail Glushenkov 136E: foldr@codedgers.com 137D: Author of llvmc2 138 139N: Dan Gohman 140E: gohman@apple.com 141D: Miscellaneous bug fixes 142 143N: David Goodwin 144E: david@goodwinz.net 145D: Thumb-2 code generator 146 147N: David Greene 148E: greened@obbligato.org 149D: Miscellaneous bug fixes 150D: Register allocation refactoring 151 152N: Gabor Greif 153E: ggreif@gmail.com 154D: Improvements for space efficiency 155 156N: James Grosbach 157E: grosbach@apple.com 158D: SjLj exception handling support 159D: General fixes and improvements for the ARM back-end 160D: MCJIT 161D: ARM integrated assembler and assembly parser 162 163N: Lang Hames 164E: lhames@gmail.com 165D: PBQP-based register allocator 166 167N: Gordon Henriksen 168E: gordonhenriksen@mac.com 169D: Pluggable GC support 170D: C interface 171D: Ocaml bindings 172 173N: Raul Fernandes Herbster 174E: raul@dsc.ufcg.edu.br 175D: JIT support for ARM 176 177N: Paolo Invernizzi 178E: arathorn@fastwebnet.it 179D: Visual C++ compatibility fixes 180 181N: Patrick Jenkins 182E: patjenk@wam.umd.edu 183D: Nightly Tester 184 185N: Dale Johannesen 186E: dalej@apple.com 187D: ARM constant islands improvements 188D: Tail merging improvements 189D: Rewrite X87 back end 190D: Use APFloat for floating point constants widely throughout compiler 191D: Implement X87 long double 192 193N: Brad Jones 194E: kungfoomaster@nondot.org 195D: Support for packed types 196 197N: Rod Kay 198E: rkay@auroraux.org 199D: Author of LLVM Ada bindings 200 201N: Eric Kidd 202W: http://randomhacks.net/ 203D: llvm-config script 204 205N: Anton Korobeynikov 206E: asl@math.spbu.ru 207D: Mingw32 fixes, cross-compiling support, stdcall/fastcall calling conv. 208D: x86/linux PIC codegen, aliases, regparm/visibility attributes 209D: Switch lowering refactoring 210 211N: Sumant Kowshik 212E: kowshik@uiuc.edu 213D: Author of the original C backend 214 215N: Benjamin Kramer 216E: benny.kra@gmail.com 217D: Miscellaneous bug fixes 218 219N: Sundeep Kushwaha 220E: sundeepk@codeaurora.org 221D: Implemented DFA-based target independent VLIW packetizer 222 223N: Christopher Lamb 224E: christopher.lamb@gmail.com 225D: aligned load/store support, parts of noalias and restrict support 226D: vreg subreg infrastructure, X86 codegen improvements based on subregs 227D: address spaces 228 229N: Jim Laskey 230E: jlaskey@apple.com 231D: Improvements to the PPC backend, instruction scheduling 232D: Debug and Dwarf implementation 233D: Auto upgrade mangler 234D: llvm-gcc4 svn wrangler 235 236N: Chris Lattner 237E: sabre@nondot.org 238W: http://nondot.org/~sabre/ 239D: Primary architect of LLVM 240 241N: Tanya Lattner (Tanya Brethour) 242E: tonic@nondot.org 243W: http://nondot.org/~tonic/ 244D: The initial llvm-ar tool, converted regression testsuite to dejagnu 245D: Modulo scheduling in the SparcV9 backend 246D: Release manager (1.7+) 247 248N: Andrew Lenharth 249E: alenhar2@cs.uiuc.edu 250W: http://www.lenharth.org/~andrewl/ 251D: Alpha backend 252D: Sampling based profiling 253 254N: Nick Lewycky 255E: nicholas@mxc.ca 256D: PredicateSimplifier pass 257 258N: Tony Linthicum, et. al. 259E: tlinth@codeaurora.org 260D: Backend for Qualcomm's Hexagon VLIW processor. 261 262N: Bruno Cardoso Lopes 263E: bruno.cardoso@gmail.com 264W: http://www.brunocardoso.org 265D: The Mips backend 266 267N: Duraid Madina 268E: duraid@octopus.com.au 269W: http://kinoko.c.u-tokyo.ac.jp/~duraid/ 270D: IA64 backend, BigBlock register allocator 271 272N: John McCall 273E: rjmccall@apple.com 274D: Clang semantic analysis and IR generation 275 276N: Michael McCracken 277E: michael.mccracken@gmail.com 278D: Line number support for llvmgcc 279 280N: Vladimir Merzliakov 281E: wanderer@rsu.ru 282D: Test suite fixes for FreeBSD 283 284N: Scott Michel 285E: scottm@aero.org 286D: Added STI Cell SPU backend. 287 288N: Kai Nacke 289E: kai@redstar.de 290D: Support for implicit TLS model used with MS VC runtime 291 292N: Takumi Nakamura 293E: geek4civic@gmail.com 294E: chapuni@hf.rim.or.jp 295D: Cygwin and MinGW support. 296D: Win32 tweaks. 297S: Yokohama, Japan 298 299N: Edward O'Callaghan 300E: eocallaghan@auroraux.org 301W: http://www.auroraux.org 302D: Add Clang support with various other improvements to utils/NewNightlyTest.pl 303D: Fix and maintain Solaris & AuroraUX support for llvm, various build warnings 304D: and error clean ups. 305 306N: Morten Ofstad 307E: morten@hue.no 308D: Visual C++ compatibility fixes 309 310N: Jakob Stoklund Olesen 311E: stoklund@2pi.dk 312D: Machine code verifier 313D: Blackfin backend 314D: Fast register allocator 315D: Greedy register allocator 316 317N: Richard Osborne 318E: richard@xmos.com 319D: XCore backend 320 321N: Devang Patel 322E: dpatel@apple.com 323D: LTO tool, PassManager rewrite, Loop Pass Manager, Loop Rotate 324D: GCC PCH Integration (llvm-gcc), llvm-gcc improvements 325D: Optimizer improvements, Loop Index Split 326 327N: Sandeep Patel 328E: deeppatel1987@gmail.com 329D: ARM calling conventions rewrite, hard float support 330 331N: Wesley Peck 332E: peckw@wesleypeck.com 333W: http://wesleypeck.com/ 334D: MicroBlaze backend 335 336N: Francois Pichet 337E: pichet2000@gmail.com 338D: MSVC support 339 340N: Vladimir Prus 341W: http://vladimir_prus.blogspot.com 342E: ghost@cs.msu.su 343D: Made inst_iterator behave like a proper iterator, LowerConstantExprs pass 344 345N: Xerxes Ranby 346E: xerxes@zafena.se 347D: Cmake dependency chain and various bug fixes 348 349N: Chad Rosier 350E: mcrosier@apple.com 351D: ARM fast-isel improvements 352D: Performance monitoring 353 354N: Nadav Rotem 355E: nadav.rotem@intel.com 356D: Vector code generation improvements. 357 358N: Roman Samoilov 359E: roman@codedgers.com 360D: MSIL backend 361 362N: Duncan Sands 363E: baldrick@free.fr 364D: Ada support in llvm-gcc 365D: Dragonegg plugin 366D: Exception handling improvements 367D: Type legalizer rewrite 368 369N: Ruchira Sasanka 370E: sasanka@uiuc.edu 371D: Graph coloring register allocator for the Sparc64 backend 372 373N: Arnold Schwaighofer 374E: arnold.schwaighofer@gmail.com 375D: Tail call optimization for the x86 backend 376 377N: Shantonu Sen 378E: ssen@apple.com 379D: Miscellaneous bug fixes 380 381N: Anand Shukla 382E: ashukla@cs.uiuc.edu 383D: The `paths' pass 384 385N: Michael J. Spencer 386E: bigcheesegs@gmail.com 387D: Shepherding Windows COFF support into MC. 388D: Lots of Windows stuff. 389 390N: Reid Spencer 391E: rspencer@reidspencer.com 392W: http://reidspencer.com/ 393D: Lots of stuff, see: http://wiki.llvm.org/index.php/User:Reid 394 395N: Edwin Torok 396E: edwintorok@gmail.com 397D: Miscellaneous bug fixes 398 399N: Adam Treat 400E: manyoso@yahoo.com 401D: C++ bugs filed, and C++ front-end bug fixes. 402 403N: Lauro Ramos Venancio 404E: lauro.venancio@indt.org.br 405D: ARM backend improvements 406D: Thread Local Storage implementation 407 408N: Bill Wendling 409E: wendling@apple.com 410D: Exception handling 411D: Bunches of stuff 412 413N: Bob Wilson 414E: bob.wilson@acm.org 415D: Advanced SIMD (NEON) support in the ARM backend 416