CodeGenOptions.h revision 22a7dfea585703d6755db69b83e29a0e6ee10369
12811ccf48d6d898c42cc4cfad37abedb36236d20Chandler Carruth//===--- CodeGenOptions.h ---------------------------------------*- C++ -*-===// 270f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar// 370f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar// The LLVM Compiler Infrastructure 470f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar// 570f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar// This file is distributed under the University of Illinois Open Source 670f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar// License. See LICENSE.TXT for details. 770f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar// 870f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar//===----------------------------------------------------------------------===// 970f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar// 102811ccf48d6d898c42cc4cfad37abedb36236d20Chandler Carruth// This file defines the CodeGenOptions interface. 1170f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar// 1270f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar//===----------------------------------------------------------------------===// 1370f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar 1406057cef0bcd7804e80f3ce2bbe352178396c715Chandler Carruth#ifndef LLVM_CLANG_FRONTEND_CODEGENOPTIONS_H 1506057cef0bcd7804e80f3ce2bbe352178396c715Chandler Carruth#define LLVM_CLANG_FRONTEND_CODEGENOPTIONS_H 1670f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar 17e062533e298f72d970b2aa99cd0e3818b20d73dfChris Lattner#include <string> 183c66d30d513106bb794990c5e4ba36a31ac19f15Daniel Dunbar#include <vector> 19e062533e298f72d970b2aa99cd0e3818b20d73dfChris Lattner 2070f92436f5828c11ef108463da4473d44e114c28Daniel Dunbarnamespace clang { 2170f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar 222811ccf48d6d898c42cc4cfad37abedb36236d20Chandler Carruth/// CodeGenOptions - Track various options which control how the code 2370f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar/// is optimized and passed to the backend. 242811ccf48d6d898c42cc4cfad37abedb36236d20Chandler Carruthclass CodeGenOptions { 25e062533e298f72d970b2aa99cd0e3818b20d73dfChris Lattnerpublic: 26877db3852e29c5b5a2dc25b3fe4a3b78619aa904Daniel Dunbar enum InliningMethod { 27877db3852e29c5b5a2dc25b3fe4a3b78619aa904Daniel Dunbar NoInlining, // Perform no inlining whatsoever. 28877db3852e29c5b5a2dc25b3fe4a3b78619aa904Daniel Dunbar NormalInlining, // Use the standard function inlining pass. 29877db3852e29c5b5a2dc25b3fe4a3b78619aa904Daniel Dunbar OnlyAlwaysInlining // Only run the always inlining pass. 30877db3852e29c5b5a2dc25b3fe4a3b78619aa904Daniel Dunbar }; 31877db3852e29c5b5a2dc25b3fe4a3b78619aa904Daniel Dunbar 32f643b9b338b797a824447207d7eab5f1187f4f34Daniel Dunbar enum ObjCDispatchMethodKind { 33f643b9b338b797a824447207d7eab5f1187f4f34Daniel Dunbar Legacy = 0, 34f643b9b338b797a824447207d7eab5f1187f4f34Daniel Dunbar NonLegacy = 1, 35f643b9b338b797a824447207d7eab5f1187f4f34Daniel Dunbar Mixed = 2 36f643b9b338b797a824447207d7eab5f1187f4f34Daniel Dunbar }; 37f643b9b338b797a824447207d7eab5f1187f4f34Daniel Dunbar 383b315264d1a6fa303e20fe0caec306ccafc090deDaniel Dunbar unsigned AsmVerbose : 1; /// -dA, -fverbose-asm. 39f85e193739c953358c865005855253af4f68a497John McCall unsigned ObjCAutoRefCountExceptions : 1; /// Whether ARC should be EH-safe. 40d51e43af0b3a6897b971f316c4de2035ec82d1f2Peter Collingbourne unsigned CUDAIsDevice : 1; /// Set when compiling for CUDA device. 41efb0fa9e11f75af51744a6159530ef7cc8efa24aDaniel Dunbar unsigned CXAAtExit : 1; /// Use __cxa_atexit for calling destructors. 42efb0fa9e11f75af51744a6159530ef7cc8efa24aDaniel Dunbar unsigned CXXCtorDtorAliases: 1; /// Emit complete ctors/dtors as linker 43efb0fa9e11f75af51744a6159530ef7cc8efa24aDaniel Dunbar /// aliases to base ctors when possible. 44bbea7168326d810eff18dfb8bc43c7790fd55010Chris Lattner unsigned DataSections : 1; /// Set when -fdata-sections is enabled 45515ddd8f7a36fc2684492c13665642153fc690c0Sebastian Redl unsigned DebugInfo : 1; /// Should generate debug info (-g). 46c69e1cf04323f2e786d40e8a5ba84e77ee1c6827Devang Patel unsigned LimitDebugInfo : 1; /// Limit generated debug info to reduce size. 47f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar unsigned DisableFPElim : 1; /// Set when -fomit-frame-pointer is enabled. 488d35314401047092eb97b989ed930967ed9e8cccDaniel Dunbar unsigned DisableLLVMOpts : 1; /// Don't run any optimizations, for use in 498d35314401047092eb97b989ed930967ed9e8cccDaniel Dunbar /// getting .bc files that correspond to the 508d35314401047092eb97b989ed930967ed9e8cccDaniel Dunbar /// internal state before optimizations are 518d35314401047092eb97b989ed930967ed9e8cccDaniel Dunbar /// done. 52145e2ea10fb6240265c3fac8137a5f2b01b1a426Daniel Dunbar unsigned DisableRedZone : 1; /// Set when -mno-red-zone is enabled. 53f24fe4d1f1828251bcd160244a2393f2e990f1aaDaniel Dunbar unsigned EmitDeclMetadata : 1; /// Emit special metadata indicating what 54f24fe4d1f1828251bcd160244a2393f2e990f1aaDaniel Dunbar /// Decl* various IR entities came from. Only 55f24fe4d1f1828251bcd160244a2393f2e990f1aaDaniel Dunbar /// useful when running CodeGen as a 56f24fe4d1f1828251bcd160244a2393f2e990f1aaDaniel Dunbar /// subroutine. 57e8ba8d78a258ec992d3521eebdae8324db777b14Nick Lewycky unsigned EmitGcovArcs : 1; /// Emit coverage data files, aka. GCDA. 58e8ba8d78a258ec992d3521eebdae8324db777b14Nick Lewycky unsigned EmitGcovNotes : 1; /// Emit coverage "notes" files, aka GCNO. 5932096695c76033a6b0b1747c439f7378a11e8312John McCall unsigned ForbidGuardVariables : 1; /// Issue errors if C++ guard variables 6032096695c76033a6b0b1747c439f7378a11e8312John McCall /// are required 61bbea7168326d810eff18dfb8bc43c7790fd55010Chris Lattner unsigned FunctionSections : 1; /// Set when -ffunction-sections is enabled 62279b5eb6910d64a293e9c0e2887a05c65d8737d7John McCall unsigned HiddenWeakTemplateVTables : 1; /// Emit weak vtables and RTTI for 637a536907da776bdc47a704e7cafd641e8150e653John McCall /// template classes with hidden visibility 64279b5eb6910d64a293e9c0e2887a05c65d8737d7John McCall unsigned HiddenWeakVTables : 1; /// Emit weak vtables, RTTI, and thunks with 65f24fe4d1f1828251bcd160244a2393f2e990f1aaDaniel Dunbar /// hidden visibility. 66f24fe4d1f1828251bcd160244a2393f2e990f1aaDaniel Dunbar unsigned InstrumentFunctions : 1; /// Set when -finstrument-functions is 67f24fe4d1f1828251bcd160244a2393f2e990f1aaDaniel Dunbar /// enabled. 68be4c8705e499b55548467eb7adaa23cbc6edfef9Roman Divacky unsigned InstrumentForProfiling : 1; /// Set when -pg is enabled 694400cb8c548a90c472444b57690117563f4be195Peter Collingbourne unsigned LessPreciseFPMAD : 1; /// Enable less precise MAD instructions to be 704400cb8c548a90c472444b57690117563f4be195Peter Collingbourne /// generated. 71145e2ea10fb6240265c3fac8137a5f2b01b1a426Daniel Dunbar unsigned MergeAllConstants : 1; /// Merge identical constants. 72145e2ea10fb6240265c3fac8137a5f2b01b1a426Daniel Dunbar unsigned NoCommon : 1; /// Set when -fno-common or C++ is enabled. 73f24a151d645abc89f94aa58ad59f3131502041b1Rafael Espindola unsigned NoDwarf2CFIAsm : 1; /// Set when -fno-dwarf2-cfi-asm is enabled. 74ea523d73a6de06f828952a02f5ff86e4cc631695Nick Lewycky unsigned NoDwarfDirectoryAsm : 1; /// Set when -fno-dwarf-directory-asm is 75ea523d73a6de06f828952a02f5ff86e4cc631695Nick Lewycky /// enabled. 76c3b9014c7236a15cf467662264b243a22c420312Nick Lewycky unsigned NoExecStack : 1; /// Set when -Wa,--noexecstack is enabled. 771b9060553221720152e12981109549e0a1d8e3a1Chad Rosier unsigned NoGlobalMerge : 1; /// Set when -mno-global-merge is enabled. 78145e2ea10fb6240265c3fac8137a5f2b01b1a426Daniel Dunbar unsigned NoImplicitFloat : 1; /// Set when -mno-implicit-float is enabled. 795d729a3d8eeba59ed97119998f2135ad6d45e876Peter Collingbourne unsigned NoInfsFPMath : 1; /// Assume FP arguments, results not +-Inf. 805d729a3d8eeba59ed97119998f2135ad6d45e876Peter Collingbourne unsigned NoNaNsFPMath : 1; /// Assume FP arguments, results not NaN. 81f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar unsigned NoZeroInitializedInBSS : 1; /// -fno-zero-initialized-in-bss 82f643b9b338b797a824447207d7eab5f1187f4f34Daniel Dunbar unsigned ObjCDispatchMethod : 2; /// Method of Objective-C dispatch to use. 839f084a3166b684573ba49df28fc5792bc37d92e1John McCall unsigned ObjCRuntimeHasARC : 1; /// The target runtime supports ARC natively 84256a76e0b0e0c9e65a3122917d553ef10bc84d29John McCall unsigned ObjCRuntimeHasTerminate : 1; /// The ObjC runtime has objc_terminate 851ad6648cce57bd187f1853f58fef26cd9bf4934fDaniel Dunbar unsigned OmitLeafFramePointer : 1; /// Set when -momit-leaf-frame-pointer is 861ad6648cce57bd187f1853f58fef26cd9bf4934fDaniel Dunbar /// enabled. 87145e2ea10fb6240265c3fac8137a5f2b01b1a426Daniel Dunbar unsigned OptimizationLevel : 3; /// The -O[0-4] option specified. 88a0fa203f04235cb6d05eeb8cea3392a01aa7571bBob Wilson unsigned OptimizeSize : 2; /// If -Os (==1) or -Oz (==2) is specified. 894ecc9b73b3716775ed4e09091e300796a9a72378Daniel Dunbar unsigned RelaxAll : 1; /// Relax all machine code instructions. 904d5625e15bb215c2241c022df8dc7b04438970c6Dan Gohman unsigned RelaxedAliasing : 1; /// Set when -fno-strict-aliasing is enabled. 91969323239f16589329d091a2b8ef200fcfe7c9e9Daniel Dunbar unsigned SaveTempLabels : 1; /// Save temporary labels. 926b0cf67ae72a9ebb90e94cc9a14e09364a2b3466Daniel Dunbar unsigned SimplifyLibCalls : 1; /// Set when -fbuiltin is enabled. 933b315264d1a6fa303e20fe0caec306ccafc090deDaniel Dunbar unsigned SoftFloat : 1; /// -soft-float. 94145e2ea10fb6240265c3fac8137a5f2b01b1a426Daniel Dunbar unsigned TimePasses : 1; /// Set when -ftime-report is enabled. 95145e2ea10fb6240265c3fac8137a5f2b01b1a426Daniel Dunbar unsigned UnitAtATime : 1; /// Unused. For mirroring GCC optimization 96145e2ea10fb6240265c3fac8137a5f2b01b1a426Daniel Dunbar /// selection. 97145e2ea10fb6240265c3fac8137a5f2b01b1a426Daniel Dunbar unsigned UnrollLoops : 1; /// Control whether loops are unrolled. 985f67e13fcdc3c33e9cd5d027bfbb677b726c6f6aPeter Collingbourne unsigned UnsafeFPMath : 1; /// Allow unsafe floating point optzns. 99f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar unsigned UnwindTables : 1; /// Emit unwind tables. 100e26bdb91b7e3912ffe895b78a446db94471a59ddDaniel Dunbar 101e26bdb91b7e3912ffe895b78a446db94471a59ddDaniel Dunbar /// Attempt to use register sized accesses to bit-fields in structures, when 102e26bdb91b7e3912ffe895b78a446db94471a59ddDaniel Dunbar /// possible. 103e26bdb91b7e3912ffe895b78a446db94471a59ddDaniel Dunbar unsigned UseRegisterSizedBitfieldAccess : 1; 104e26bdb91b7e3912ffe895b78a446db94471a59ddDaniel Dunbar 105145e2ea10fb6240265c3fac8137a5f2b01b1a426Daniel Dunbar unsigned VerifyModule : 1; /// Control whether the module should be run 106145e2ea10fb6240265c3fac8137a5f2b01b1a426Daniel Dunbar /// through the LLVM Verifier. 1078d35314401047092eb97b989ed930967ed9e8cccDaniel Dunbar 108f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar /// The code model to use (-mcmodel). 109f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar std::string CodeModel; 110f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar 1113dc05418538c719fea48b906bfa4febe5296e126Nick Lewycky /// The filename with path we use for coverage files. The extension will be 1123dc05418538c719fea48b906bfa4febe5296e126Nick Lewycky /// replaced. 1133dc05418538c719fea48b906bfa4febe5296e126Nick Lewycky std::string CoverageFile; 1145ea4f44e34449a78d6b38aa47c14b527839d7aacNick Lewycky 1153b315264d1a6fa303e20fe0caec306ccafc090deDaniel Dunbar /// Enable additional debugging information. 116f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar std::string DebugPass; 117f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar 1187c4fd9121f5885096fd3258d20a984e3f08f8603Nick Lewycky /// The string to embed in debug information as the current working directory. 1197c4fd9121f5885096fd3258d20a984e3f08f8603Nick Lewycky std::string DebugCompilationDir; 1207c4fd9121f5885096fd3258d20a984e3f08f8603Nick Lewycky 121f2d8b9f967a1ab53ee9fdbcc3ac0a4ee0a83a26eDaniel Dunbar /// The string to embed in the debug information for the compile unit, if 122f2d8b9f967a1ab53ee9fdbcc3ac0a4ee0a83a26eDaniel Dunbar /// non-empty. 123f2d8b9f967a1ab53ee9fdbcc3ac0a4ee0a83a26eDaniel Dunbar std::string DwarfDebugFlags; 124f2d8b9f967a1ab53ee9fdbcc3ac0a4ee0a83a26eDaniel Dunbar 1253b315264d1a6fa303e20fe0caec306ccafc090deDaniel Dunbar /// The ABI to use for passing floating point arguments. 1263b315264d1a6fa303e20fe0caec306ccafc090deDaniel Dunbar std::string FloatABI; 1273b315264d1a6fa303e20fe0caec306ccafc090deDaniel Dunbar 128f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar /// The float precision limit to use, if non-empty. 129f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar std::string LimitFloatPrecision; 130f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar 13122a7dfea585703d6755db69b83e29a0e6ee10369Peter Collingbourne /// The name of the bitcode file to link before optzns. 13222a7dfea585703d6755db69b83e29a0e6ee10369Peter Collingbourne std::string LinkBitcodeFile; 13322a7dfea585703d6755db69b83e29a0e6ee10369Peter Collingbourne 134f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar /// The kind of inlining to perform. 135877db3852e29c5b5a2dc25b3fe4a3b78619aa904Daniel Dunbar InliningMethod Inlining; 136877db3852e29c5b5a2dc25b3fe4a3b78619aa904Daniel Dunbar 1377d065d0f21b35f445cee13730398bc2bec6edff2Daniel Dunbar /// The user provided name for the "main file", if non-empty. This is useful 1387d065d0f21b35f445cee13730398bc2bec6edff2Daniel Dunbar /// in situations where the input file name does not match the original input 1397d065d0f21b35f445cee13730398bc2bec6edff2Daniel Dunbar /// file, for example with -save-temps. 1407d065d0f21b35f445cee13730398bc2bec6edff2Daniel Dunbar std::string MainFileName; 1417d065d0f21b35f445cee13730398bc2bec6edff2Daniel Dunbar 142f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar /// The name of the relocation model to use. 143f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar std::string RelocationModel; 144f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar 1453c66d30d513106bb794990c5e4ba36a31ac19f15Daniel Dunbar /// A list of command-line options to forward to the LLVM backend. 1463c66d30d513106bb794990c5e4ba36a31ac19f15Daniel Dunbar std::vector<std::string> BackendOptions; 1473c66d30d513106bb794990c5e4ba36a31ac19f15Daniel Dunbar 14817d3fea677753e6e3e82ffe2cbdeccbf5f2e7497Daniel Dunbar /// The user specified number of registers to be used for integral arguments, 14917d3fea677753e6e3e82ffe2cbdeccbf5f2e7497Daniel Dunbar /// or 0 if unspecified. 15017d3fea677753e6e3e82ffe2cbdeccbf5f2e7497Daniel Dunbar unsigned NumRegisterParameters; 15117d3fea677753e6e3e82ffe2cbdeccbf5f2e7497Daniel Dunbar 15270f92436f5828c11ef108463da4473d44e114c28Daniel Dunbarpublic: 1532811ccf48d6d898c42cc4cfad37abedb36236d20Chandler Carruth CodeGenOptions() { 154f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar AsmVerbose = 0; 155d51e43af0b3a6897b971f316c4de2035ec82d1f2Peter Collingbourne CUDAIsDevice = 0; 156efb0fa9e11f75af51744a6159530ef7cc8efa24aDaniel Dunbar CXAAtExit = 1; 157efb0fa9e11f75af51744a6159530ef7cc8efa24aDaniel Dunbar CXXCtorDtorAliases = 0; 158bbea7168326d810eff18dfb8bc43c7790fd55010Chris Lattner DataSections = 0; 159f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar DebugInfo = 0; 160c69e1cf04323f2e786d40e8a5ba84e77ee1c6827Devang Patel LimitDebugInfo = 0; 161f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar DisableFPElim = 0; 162f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar DisableLLVMOpts = 0; 163f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar DisableRedZone = 0; 1647a536907da776bdc47a704e7cafd641e8150e653John McCall EmitDeclMetadata = 0; 165e8ba8d78a258ec992d3521eebdae8324db777b14Nick Lewycky EmitGcovArcs = 0; 166e8ba8d78a258ec992d3521eebdae8324db777b14Nick Lewycky EmitGcovNotes = 0; 16732096695c76033a6b0b1747c439f7378a11e8312John McCall ForbidGuardVariables = 0; 168bbea7168326d810eff18dfb8bc43c7790fd55010Chris Lattner FunctionSections = 0; 169279b5eb6910d64a293e9c0e2887a05c65d8737d7John McCall HiddenWeakTemplateVTables = 0; 170279b5eb6910d64a293e9c0e2887a05c65d8737d7John McCall HiddenWeakVTables = 0; 17141a621d00e974829b75ff95cdff556755116dea1Douglas Gregor InstrumentFunctions = 0; 172be4c8705e499b55548467eb7adaa23cbc6edfef9Roman Divacky InstrumentForProfiling = 0; 1734400cb8c548a90c472444b57690117563f4be195Peter Collingbourne LessPreciseFPMAD = 0; 174f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar MergeAllConstants = 1; 175f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar NoCommon = 0; 176f24a151d645abc89f94aa58ad59f3131502041b1Rafael Espindola NoDwarf2CFIAsm = 0; 177f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar NoImplicitFloat = 0; 1785d729a3d8eeba59ed97119998f2135ad6d45e876Peter Collingbourne NoInfsFPMath = 0; 1795d729a3d8eeba59ed97119998f2135ad6d45e876Peter Collingbourne NoNaNsFPMath = 0; 180f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar NoZeroInitializedInBSS = 0; 18117d3fea677753e6e3e82ffe2cbdeccbf5f2e7497Daniel Dunbar NumRegisterParameters = 0; 182256a76e0b0e0c9e65a3122917d553ef10bc84d29John McCall ObjCAutoRefCountExceptions = 0; 183f643b9b338b797a824447207d7eab5f1187f4f34Daniel Dunbar ObjCDispatchMethod = Legacy; 184256a76e0b0e0c9e65a3122917d553ef10bc84d29John McCall ObjCRuntimeHasARC = 0; 185256a76e0b0e0c9e65a3122917d553ef10bc84d29John McCall ObjCRuntimeHasTerminate = 0; 1861ad6648cce57bd187f1853f58fef26cd9bf4934fDaniel Dunbar OmitLeafFramePointer = 0; 18770f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar OptimizationLevel = 0; 18870f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar OptimizeSize = 0; 1894ecc9b73b3716775ed4e09091e300796a9a72378Daniel Dunbar RelaxAll = 0; 1904d5625e15bb215c2241c022df8dc7b04438970c6Dan Gohman RelaxedAliasing = 0; 191969323239f16589329d091a2b8ef200fcfe7c9e9Daniel Dunbar SaveTempLabels = 0; 1926b0cf67ae72a9ebb90e94cc9a14e09364a2b3466Daniel Dunbar SimplifyLibCalls = 1; 1933b315264d1a6fa303e20fe0caec306ccafc090deDaniel Dunbar SoftFloat = 0; 194445026698ca8f97ee7320464dedbe0d077b32d16Chris Lattner TimePasses = 0; 195f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar UnitAtATime = 1; 196984eb8611d9ee46fc6351dee43609f2deed99f3cDaniel Dunbar UnrollLoops = 0; 1975f67e13fcdc3c33e9cd5d027bfbb677b726c6f6aPeter Collingbourne UnsafeFPMath = 0; 198f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar UnwindTables = 0; 199e26bdb91b7e3912ffe895b78a446db94471a59ddDaniel Dunbar UseRegisterSizedBitfieldAccess = 0; 200f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar VerifyModule = 1; 201f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar 202877db3852e29c5b5a2dc25b3fe4a3b78619aa904Daniel Dunbar Inlining = NoInlining; 203f219e7c1529fac29e34483667f740b452e5ef9ccDaniel Dunbar RelocationModel = "pic"; 2041eb4433ac451dc16f4133a88af2d002ac26c58efMike Stump } 205f643b9b338b797a824447207d7eab5f1187f4f34Daniel Dunbar 206f643b9b338b797a824447207d7eab5f1187f4f34Daniel Dunbar ObjCDispatchMethodKind getObjCDispatchMethod() const { 207f643b9b338b797a824447207d7eab5f1187f4f34Daniel Dunbar return ObjCDispatchMethodKind(ObjCDispatchMethod); 208f643b9b338b797a824447207d7eab5f1187f4f34Daniel Dunbar } 20970f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar}; 21070f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar 21170f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar} // end namespace clang 21270f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar 21370f92436f5828c11ef108463da4473d44e114c28Daniel Dunbar#endif 214