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