1 //===--- Util.h - Common Driver Utilities -----------------------*- 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 CLANG_DRIVER_UTIL_H_ 11 #define CLANG_DRIVER_UTIL_H_ 12 13 #include "clang/Basic/LLVM.h" 14 #include "llvm/ADT/DenseMap.h" 15 16 namespace llvm { 17 class Triple; 18 } 19 20 namespace clang { 21 class DiagnosticsEngine; 22 23 namespace driver { 24 class Action; 25 class JobAction; 26 27 /// ArgStringMap - Type used to map a JobAction to its result file. 28 typedef llvm::DenseMap<const JobAction*, const char*> ArgStringMap; 29 30 /// ActionList - Type used for lists of actions. 31 typedef SmallVector<Action*, 3> ActionList; 32 33 /// Get the (LLVM) name of the minimum ARM CPU for the arch we are targeting. 34 const char* getARMCPUForMArch(StringRef MArch, const llvm::Triple &Triple); 35 36 } // end namespace driver 37 } // end namespace clang 38 39 #endif 40