Home | History | Annotate | Download | only in Driver
      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