summaryrefslogtreecommitdiff
path: root/include/clang/CodeGen/CodeGenOptions.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/CodeGen/CodeGenOptions.h')
-rw-r--r--include/clang/CodeGen/CodeGenOptions.h131
1 files changed, 0 insertions, 131 deletions
diff --git a/include/clang/CodeGen/CodeGenOptions.h b/include/clang/CodeGen/CodeGenOptions.h
deleted file mode 100644
index 6241230ffb458..0000000000000
--- a/include/clang/CodeGen/CodeGenOptions.h
+++ /dev/null
@@ -1,131 +0,0 @@
-//===--- CodeGenOptions.h ---------------------------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file defines the CodeGenOptions interface.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_CODEGEN_CODEGENOPTIONS_H
-#define LLVM_CLANG_CODEGEN_CODEGENOPTIONS_H
-
-#include <string>
-
-namespace clang {
-
-/// CodeGenOptions - Track various options which control how the code
-/// is optimized and passed to the backend.
-class CodeGenOptions {
-public:
- enum InliningMethod {
- NoInlining, // Perform no inlining whatsoever.
- NormalInlining, // Use the standard function inlining pass.
- OnlyAlwaysInlining // Only run the always inlining pass.
- };
-
- enum ObjCDispatchMethodKind {
- Legacy = 0,
- NonLegacy = 1,
- Mixed = 2
- };
-
- unsigned AsmVerbose : 1; /// -dA, -fverbose-asm.
- unsigned CXAAtExit : 1; /// Use __cxa_atexit for calling destructors.
- unsigned CXXCtorDtorAliases: 1; /// Emit complete ctors/dtors as linker
- /// aliases to base ctors when possible.
- unsigned DataSections : 1; /// Set when -fdata-sections is enabled
- unsigned DebugInfo : 1; /// Should generate deubg info (-g).
- unsigned DisableFPElim : 1; /// Set when -fomit-frame-pointer is enabled.
- unsigned DisableLLVMOpts : 1; /// Don't run any optimizations, for use in
- /// getting .bc files that correspond to the
- /// internal state before optimizations are
- /// done.
- unsigned DisableRedZone : 1; /// Set when -mno-red-zone is enabled.
- unsigned FunctionSections : 1; /// Set when -ffunction-sections is enabled
- unsigned MergeAllConstants : 1; /// Merge identical constants.
- unsigned NoCommon : 1; /// Set when -fno-common or C++ is enabled.
- unsigned NoImplicitFloat : 1; /// Set when -mno-implicit-float is enabled.
- unsigned NoZeroInitializedInBSS : 1; /// -fno-zero-initialized-in-bss
- unsigned ObjCDispatchMethod : 2; /// Method of Objective-C dispatch to use.
- unsigned OptimizationLevel : 3; /// The -O[0-4] option specified.
- unsigned OptimizeSize : 1; /// If -Os is specified.
- unsigned RelaxAll : 1; /// Relax all machine code instructions.
- unsigned SoftFloat : 1; /// -soft-float.
- unsigned TimePasses : 1; /// Set when -ftime-report is enabled.
- unsigned UnitAtATime : 1; /// Unused. For mirroring GCC optimization
- /// selection.
- unsigned UnrollLoops : 1; /// Control whether loops are unrolled.
- unsigned UnwindTables : 1; /// Emit unwind tables.
- unsigned VerifyModule : 1; /// Control whether the module should be run
- /// through the LLVM Verifier.
-
- /// The code model to use (-mcmodel).
- std::string CodeModel;
-
- /// Enable additional debugging information.
- std::string DebugPass;
-
- /// The string to embed in the debug information for the compile unit, if
- /// non-empty.
- std::string DwarfDebugFlags;
-
- /// The ABI to use for passing floating point arguments.
- std::string FloatABI;
-
- /// The float precision limit to use, if non-empty.
- std::string LimitFloatPrecision;
-
- /// The kind of inlining to perform.
- InliningMethod Inlining;
-
- /// The user provided name for the "main file", if non-empty. This is useful
- /// in situations where the input file name does not match the original input
- /// file, for example with -save-temps.
- std::string MainFileName;
-
- /// The name of the relocation model to use.
- std::string RelocationModel;
-
-public:
- CodeGenOptions() {
- AsmVerbose = 0;
- CXAAtExit = 1;
- CXXCtorDtorAliases = 0;
- DataSections = 0;
- DebugInfo = 0;
- DisableFPElim = 0;
- DisableLLVMOpts = 0;
- DisableRedZone = 0;
- FunctionSections = 0;
- MergeAllConstants = 1;
- NoCommon = 0;
- NoImplicitFloat = 0;
- NoZeroInitializedInBSS = 0;
- ObjCDispatchMethod = Legacy;
- OptimizationLevel = 0;
- OptimizeSize = 0;
- RelaxAll = 0;
- SoftFloat = 0;
- TimePasses = 0;
- UnitAtATime = 1;
- UnrollLoops = 0;
- UnwindTables = 0;
- VerifyModule = 1;
-
- Inlining = NoInlining;
- RelocationModel = "pic";
- }
-
- ObjCDispatchMethodKind getObjCDispatchMethod() const {
- return ObjCDispatchMethodKind(ObjCDispatchMethod);
- }
-};
-
-} // end namespace clang
-
-#endif