1 //===--- Phases.h - Transformations on Driver Types -------------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #ifndef LLVM_CLANG_DRIVER_PHASES_H 10 #define LLVM_CLANG_DRIVER_PHASES_H 11 12 namespace clang { 13 namespace driver { 14 namespace phases { 15 /// ID - Ordered values for successive stages in the 16 /// compilation process which interact with user options. 17 enum ID { 18 Preprocess, 19 Precompile, 20 Compile, 21 Backend, 22 Assemble, 23 Link, 24 IfsMerge, 25 }; 26 27 enum { 28 MaxNumberOfPhases = IfsMerge + 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