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 LastPhase = IfsMerge, 26 }; 27 28 enum { 29 MaxNumberOfPhases = LastPhase + 1 30 }; 31 32 const char *getPhaseName(ID Id); 33 34 } // end namespace phases 35 } // end namespace driver 36 } // end namespace clang 37 38 #endif 39