This file is a list of the people responsible for ensuring that patches for a
particular part of LLVM are reviewed, either by themself or by someone else.
They are also the gatekeepers for their part of LLVM, with the final word on
what goes in or not.

The list is sorted by surname and formatted to allow easy grepping and
beautification by scripts.  The fields are: name (N), email (E), web-address
(W), PGP key ID and fingerprint (P), description (D), and snail-mail address
(S).

N: Joe Abbey
E: jabbey@arxan.com
D: LLVM Bitcode (lib/Bitcode/* include/llvm/Bitcode/*)

N: Owen Anderson
E: resistor@mac.com
D: SelectionDAG (lib/CodeGen/SelectionDAG/*)

N: Rafael Avila de Espindola
E: rafael.espindola@gmail.com
D: Gold plugin (tools/gold/*)

N: Chandler Carruth
E: chandlerc@gmail.com
E: chandlerc@google.com
D: Config, ADT, Support, inlining & related passes, SROA/mem2reg & related passes, CMake, library layering

N: Evan Cheng
E: evan.cheng@apple.com
D: ARM target, parts of code generator not covered by someone else

N: Eric Christopher
E: echristo@gmail.com
D: Debug Information, autotools/configure/make build, inline assembly

N: Greg Clayton
D: LLDB

N: Peter Collingbourne
D: libclc

N: Anshuman Dasgupta
E: adasgupt@codeaurora.org
D: Hexagon Backend

N: Hal Finkel
E: hfinkel@anl.gov
D: BBVectorize and the PowerPC target

N: Venkatraman Govindaraju
E: venkatra@cs.wisc.edu
D: Sparc Backend (lib/Target/Sparc/*)

N: Tobias Grosser
D: Polly

N: James Grosbach
E: grosbach@apple.com
D: MC layer

N: Howard Hinnant
D: libc++

N: Justin Holewinski
E: jholewinski@nvidia.com
D: NVPTX Target (lib/Target/NVPTX/*)

N: Andy Kaylor
E: andrew.kaylor@intel.com
D: MCJIT, RuntimeDyld and JIT event listeners

N: Galina Kistanova
E: gkistanova@gmail.com
D: LLVM Buildbot

N: Anton Korobeynikov
E: anton@korobeynikov.info
D: Exception handling, Windows codegen, ARM EABI

N: Benjamin Kramer
E: benny.kra@gmail.com
D: DWARF Parser

N: Sergei Larin
E: slarin@codeaurora.org
D: VLIW Instruction Scheduling, Packetization

N: Chris Lattner
E: sabre@nondot.org
W: http://nondot.org/~sabre/
D: Everything not covered by someone else

N: Tim Northover
E: Tim.Northover@arm.com
D: AArch64 backend

N: Jakob Olesen
D: Register allocators and TableGen

N: Richard Osborne
E: richard@xmos.com
D: XCore Backend

N: Chad Rosier
E: mcrosier@apple.com
D: Fast-Isel

N: Nadav Rotem
E: nrotem@apple.com
D: X86 Backend, Loop Vectorizer

N: Richard Sandiford
E: rsandifo@linux.vnet.ibm.com
D: SystemZ Backend

N: Duncan Sands
E: baldrick@free.fr
D: DragonEgg

N: Michael Spencer
E: bigcheesegs@gmail.com
D: Windows parts of Support, Object, ar, nm, objdump, ranlib, size

N: Tom Stellard
E: thomas.stellard@amd.com
E: mesa-dev@lists.freedesktop.org
D: R600 Backend

N: Andrew Trick
E: atrick@apple.com
D: IndVar Simplify, Loop Strength Reduction, Instruction Scheduling

N: Bill Wendling
E: wendling@apple.com
D: libLTO, IR Linker
