//===--- Phases.h - Transformations on Driver Types -------------*- C++ -*-===//
 
//
 
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 
// See https://llvm.org/LICENSE.txt for license information.
 
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
//
 
//===----------------------------------------------------------------------===//
 
 
 
#ifndef LLVM_CLANG_DRIVER_PHASES_H
 
#define LLVM_CLANG_DRIVER_PHASES_H
 
 
 
namespace clang {
 
namespace driver {
 
namespace phases {
 
  /// ID - Ordered values for successive stages in the
 
  /// compilation process which interact with user options.
 
  enum ID {
 
    Preprocess,
 
    Precompile,
 
    Compile,
 
    Backend,
 
    Assemble,
 
    Link,
 
    IfsMerge,
 
  };
 
 
 
  enum {
 
    MaxNumberOfPhases = IfsMerge + 1
 
  };
 
 
 
  const char *getPhaseName(ID Id);
 
 
 
} // end namespace phases
 
} // end namespace driver
 
} // end namespace clang
 
 
 
#endif