================ @@ -39,6 +39,7 @@ ENUM_CODEGENOPT(RelocationModel, llvm::Reloc::Model, 3, llvm::Reloc::PIC_) ///< ENUM_CODEGENOPT(DebugInfo, llvm::codegenoptions::DebugInfoKind, 4, llvm::codegenoptions::NoDebugInfo) ///< Level of debug info to generate ENUM_CODEGENOPT(VecLib, llvm::driver::VectorLibrary, 3, llvm::driver::VectorLibrary::NoLibrary) ///< Vector functions library to use ENUM_CODEGENOPT(FramePointer, llvm::FramePointerKind, 2, llvm::FramePointerKind::None) ///< Enable the usage of frame pointers +ENUM_CODEGENOPT(CodeModel, llvm::CodeModel::Model, 5, llvm::CodeModel::Model::Small) ---------------- tblah wrote:
What was your reasoning for defaulting to `llvm::CodeModel::Model::Small` here? So far as I can tell, clang avoids setting it when the option is not specified explicitly: https://github.com/llvm/llvm-project/blob/44df1167f88cabbb4cfde816f279337379ea30b3/clang/lib/CodeGen/CodeGenModule.cpp#L1304 In LLVM, the code model logic seems to get overridden in each implementation of LLVMTargetMachine. The first one I looked at does default to llvm::CodeModel::Model::Small, but I don't know whether that will always be true for every target. I think it would be safer to store this as a std::optional instead of a bitfield. https://github.com/llvm/llvm-project/pull/95411 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits