mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-11 08:29:25 +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:
@@ -31,10 +31,10 @@ extern "C" void LLVMInitializeMipsTarget() {
|
||||
// an easier handling.
|
||||
// Using CodeModel::Large enables different CALL behavior.
|
||||
MipsTargetMachine::
|
||||
MipsTargetMachine(const Target &T, const std::string &TT,
|
||||
const std::string &CPU, const std::string &FS,
|
||||
MipsTargetMachine(const Target &T, StringRef TT,
|
||||
StringRef CPU, StringRef FS, Reloc::Model RM,
|
||||
bool isLittle=false):
|
||||
LLVMTargetMachine(T, TT, CPU, FS),
|
||||
LLVMTargetMachine(T, TT, CPU, FS, RM),
|
||||
Subtarget(TT, CPU, FS, isLittle),
|
||||
DataLayout(isLittle ?
|
||||
std::string("e-p:32:32:32-i8:8:32-i16:16:32-i64:64:64-n32") :
|
||||
@@ -42,19 +42,12 @@ MipsTargetMachine(const Target &T, const std::string &TT,
|
||||
InstrInfo(*this),
|
||||
FrameLowering(Subtarget),
|
||||
TLInfo(*this), TSInfo(*this) {
|
||||
// Abicall enables PIC by default
|
||||
if (getRelocationModel() == Reloc::Default) {
|
||||
if (Subtarget.isABI_O32())
|
||||
setRelocationModel(Reloc::PIC_);
|
||||
else
|
||||
setRelocationModel(Reloc::Static);
|
||||
}
|
||||
}
|
||||
|
||||
MipselTargetMachine::
|
||||
MipselTargetMachine(const Target &T, const std::string &TT,
|
||||
const std::string &CPU, const std::string &FS) :
|
||||
MipsTargetMachine(T, TT, CPU, FS, true) {}
|
||||
MipselTargetMachine(const Target &T, StringRef TT,
|
||||
StringRef CPU, StringRef FS, Reloc::Model RM) :
|
||||
MipsTargetMachine(T, TT, CPU, FS, RM, true) {}
|
||||
|
||||
// Install an instruction selector pass using
|
||||
// the ISelDag to gen Mips code.
|
||||
|
Reference in New Issue
Block a user