Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.4 KiB

  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. #ifndef LLVM_MC_MCCODEGENINFO_H
  15. #define LLVM_MC_MCCODEGENINFO_H
  16. #include "llvm/Support/CodeGen.h"
  17. namespace llvm {
  18. class MCCodeGenInfo {
  19. /// RelocationModel - Relocation model: static, pic, etc.
  20. ///
  21. Reloc::Model RelocationModel;
  22. /// CMModel - Code model.
  23. ///
  24. CodeModel::Model CMModel;
  25. /// OptLevel - Optimization level.
  26. ///
  27. CodeGenOpt::Level OptLevel;
  28. public:
  29. void InitMCCodeGenInfo(Reloc::Model RM = Reloc::Default,
  30. CodeModel::Model CM = CodeModel::Default,
  31. CodeGenOpt::Level OL = CodeGenOpt::Default);
  32. Reloc::Model getRelocationModel() const { return RelocationModel; }
  33. CodeModel::Model getCodeModel() const { return CMModel; }
  34. CodeGenOpt::Level getOptLevel() const { return OptLevel; }
  35. };
  36. } // namespace llvm
  37. #endif