MC: clang-format. NFC.
[oota-llvm.git] / include / llvm / MC / MCCodeGenInfo.h
index 1c54c47e2d95ba16c1f590138be91657df21c4b6..095289ddad19d9727f5f1024a663ec24af1b2192 100644 (file)
 
 namespace llvm {
 
-  class MCCodeGenInfo {
-    /// RelocationModel - Relocation model: statcic, pic, etc.
-    ///
-    Reloc::Model RelocationModel;
+class MCCodeGenInfo {
+  /// RelocationModel - Relocation model: static, pic, etc.
+  ///
+  Reloc::Model RelocationModel;
 
-    /// CMModel - Code model.
-    ///
-    CodeModel::Model CMModel;
+  /// CMModel - Code model.
+  ///
+  CodeModel::Model CMModel;
 
-  public:
-    void InitMCCodeGenInfo(Reloc::Model RM = Reloc::Default,
-                           CodeModel::Model CM = CodeModel::Default);
+  /// OptLevel - Optimization level.
+  ///
+  CodeGenOpt::Level OptLevel;
 
-    Reloc::Model getRelocationModel() const { return RelocationModel; }
+public:
+  void InitMCCodeGenInfo(Reloc::Model RM = Reloc::Default,
+                         CodeModel::Model CM = CodeModel::Default,
+                         CodeGenOpt::Level OL = CodeGenOpt::Default);
 
-    CodeModel::Model getCodeModel() const { return CMModel; }
-  };
+  Reloc::Model getRelocationModel() const { return RelocationModel; }
+
+  CodeModel::Model getCodeModel() const { return CMModel; }
+
+  CodeGenOpt::Level getOptLevel() const { return OptLevel; }
+
+  // Allow overriding OptLevel on a per-function basis.
+  void setOptLevel(CodeGenOpt::Level Level) { OptLevel = Level; }
+};
 } // namespace llvm
 
 #endif