blob: cd6b5b5c9f05661ef6cf576a5aafc2d64a29bd9b [file] [log] [blame]
Daniel Dunbarb1efcd82009-03-13 11:27:05 +00001//===--- 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
Stephen Hines176edba2014-12-01 14:53:08 -080010#ifndef LLVM_CLANG_DRIVER_PHASES_H
11#define LLVM_CLANG_DRIVER_PHASES_H
Daniel Dunbarb1efcd82009-03-13 11:27:05 +000012
13namespace clang {
14namespace driver {
15namespace 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,
Stephen Hines0e2c34f2015-03-23 12:09:02 -070022 Backend,
Daniel Dunbarb1efcd82009-03-13 11:27:05 +000023 Assemble,
24 Link
25 };
26
Matthew Curtisb9aa6732013-03-07 12:32:26 +000027 enum {
28 MaxNumberOfPhases = Link + 1
29 };
30
Daniel Dunbarb1efcd82009-03-13 11:27:05 +000031 const char *getPhaseName(ID Id);
32
33} // end namespace phases
34} // end namespace driver
35} // end namespace clang
36
37#endif