1 //===--- Phases.h - Transformations on Driver Types -------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #ifndef LLVM_CLANG_DRIVER_PHASES_H
11 #define LLVM_CLANG_DRIVER_PHASES_H
12 
13 namespace clang {
14 namespace driver {
15 namespace phases {
16   /// ID - Ordered values for successive stages in the
17   /// compilation process which interact with user options.
18   enum ID {
19     Preprocess,
20     Precompile,
21     Compile,
22     Backend,
23     Assemble,
24     Link
25   };
26 
27   enum {
28     MaxNumberOfPhases = Link + 1
29   };
30 
31   const char *getPhaseName(ID Id);
32 
33 } // end namespace phases
34 } // end namespace driver
35 } // end namespace clang
36 
37 #endif
38