Home | History | Annotate | Download | only in MC
      1 //===-- llvm/MC/MCCodeGenInfo.h - Target CodeGen Info -----------*- 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 // This file tracks information about the target which can affect codegen,
     11 // asm parsing, and asm printing. For example, relocation model.
     12 //
     13 //===----------------------------------------------------------------------===//
     14 
     15 #ifndef LLVM_MC_MCCODEGENINFO_H
     16 #define LLVM_MC_MCCODEGENINFO_H
     17 
     18 #include "llvm/Support/CodeGen.h"
     19 
     20 namespace llvm {
     21 
     22   class MCCodeGenInfo {
     23     /// RelocationModel - Relocation model: statcic, pic, etc.
     24     ///
     25     Reloc::Model RelocationModel;
     26 
     27     /// CMModel - Code model.
     28     ///
     29     CodeModel::Model CMModel;
     30 
     31   public:
     32     void InitMCCodeGenInfo(Reloc::Model RM = Reloc::Default,
     33                            CodeModel::Model CM = CodeModel::Default);
     34 
     35     Reloc::Model getRelocationModel() const { return RelocationModel; }
     36 
     37     CodeModel::Model getCodeModel() const { return CMModel; }
     38   };
     39 } // namespace llvm
     40 
     41 #endif
     42