mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 04:38:24 +00:00
Introduce MCCodeGenInfo, which keeps information that can affect codegen
(including compilation, assembly). Move relocation model Reloc::Model from TargetMachine to MCCodeGenInfo so it's accessible even without TargetMachine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135468 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -40,7 +40,6 @@ namespace llvm {
|
||||
bool JITExceptionHandling;
|
||||
bool JITEmitDebugInfo;
|
||||
bool JITEmitDebugInfoToDisk;
|
||||
Reloc::Model RelocationModel;
|
||||
CodeModel::Model CMModel;
|
||||
bool GuaranteedTailCallOpt;
|
||||
unsigned StackAlignmentOverride;
|
||||
@ -143,21 +142,6 @@ EmitJitDebugInfoToDisk("jit-emit-debug-to-disk",
|
||||
cl::location(JITEmitDebugInfoToDisk),
|
||||
cl::init(false));
|
||||
|
||||
static cl::opt<llvm::Reloc::Model, true>
|
||||
DefRelocationModel("relocation-model",
|
||||
cl::desc("Choose relocation model"),
|
||||
cl::location(RelocationModel),
|
||||
cl::init(Reloc::Default),
|
||||
cl::values(
|
||||
clEnumValN(Reloc::Default, "default",
|
||||
"Target default relocation model"),
|
||||
clEnumValN(Reloc::Static, "static",
|
||||
"Non-relocatable code"),
|
||||
clEnumValN(Reloc::PIC_, "pic",
|
||||
"Fully relocatable, position independent code"),
|
||||
clEnumValN(Reloc::DynamicNoPIC, "dynamic-no-pic",
|
||||
"Relocatable external references, non-relocatable code"),
|
||||
clEnumValEnd));
|
||||
static cl::opt<llvm::CodeModel::Model, true>
|
||||
DefCodeModel("code-model",
|
||||
cl::desc("Choose code model"),
|
||||
@ -236,13 +220,10 @@ TargetMachine::~TargetMachine() {
|
||||
|
||||
/// getRelocationModel - Returns the code generation relocation model. The
|
||||
/// choices are static, PIC, and dynamic-no-pic, and target default.
|
||||
Reloc::Model TargetMachine::getRelocationModel() {
|
||||
return RelocationModel;
|
||||
}
|
||||
|
||||
/// setRelocationModel - Sets the code generation relocation model.
|
||||
void TargetMachine::setRelocationModel(Reloc::Model Model) {
|
||||
RelocationModel = Model;
|
||||
Reloc::Model TargetMachine::getRelocationModel() const {
|
||||
if (!CodeGenInfo)
|
||||
return Reloc::Default;
|
||||
return CodeGenInfo->getRelocationModel();
|
||||
}
|
||||
|
||||
/// getCodeModel - Returns the code model. The choices are small, kernel,
|
||||
|
Reference in New Issue
Block a user