mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 04:38:24 +00:00
Remove -disable-mips-abicall and -enable-mips-absolute-call command-line
options, which don't appear to be useful. -enable-mips-absolute-call is completely unused (and unless I'm mistaken, is supposed to have the same effect that -relocation-model=dynamic-no-pic should have), and -disable-mips-abicall appears to be effectively a synonym for -relocation-model=static. Adjust the few users of hasABICall to checks which seem more appropriate. Update MipsSubtarget, MipsTargetMachine, and MipselTargetMachine to synchronize with recent changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77938 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -17,19 +17,12 @@
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
using namespace llvm;
|
||||
|
||||
static cl::opt<bool>
|
||||
NotABICall("disable-mips-abicall", cl::Hidden,
|
||||
cl::desc("Disable code for SVR4-style dynamic objects"));
|
||||
static cl::opt<bool>
|
||||
AbsoluteCall("enable-mips-absolute-call", cl::Hidden,
|
||||
cl::desc("Enable absolute call within abicall"));
|
||||
|
||||
MipsSubtarget::MipsSubtarget(const TargetMachine &TM, const std::string &TT,
|
||||
const std::string &FS, bool little) :
|
||||
MipsSubtarget::MipsSubtarget(const std::string &TT, const std::string &FS,
|
||||
bool little) :
|
||||
MipsArchVersion(Mips1), MipsABI(O32), IsLittle(little), IsSingleFloat(false),
|
||||
IsFP64bit(false), IsGP64bit(false), HasVFPU(false), HasABICall(true),
|
||||
HasAbsoluteCall(false), IsLinux(true), HasSEInReg(false), HasCondMov(false),
|
||||
HasMulDivAdd(false), HasMinMax(false), HasSwap(false), HasBitCount(false)
|
||||
IsFP64bit(false), IsGP64bit(false), HasVFPU(false), IsLinux(true),
|
||||
HasSEInReg(false), HasCondMov(false), HasMulDivAdd(false), HasMinMax(false),
|
||||
HasSwap(false), HasBitCount(false)
|
||||
{
|
||||
std::string CPU = "mips1";
|
||||
MipsArchVersion = Mips1;
|
||||
@ -56,13 +49,4 @@ MipsSubtarget::MipsSubtarget(const TargetMachine &TM, const std::string &TT,
|
||||
HasSwap = true;
|
||||
HasCondMov = true;
|
||||
}
|
||||
|
||||
// Abicall is the default for O32 ABI, but is disabled within EABI and in
|
||||
// static code.
|
||||
if (NotABICall || isABI_EABI() || (TM.getRelocationModel() == Reloc::Static))
|
||||
HasABICall = false;
|
||||
|
||||
// TODO: disable when handling 64 bit symbols in the future.
|
||||
if (HasABICall && AbsoluteCall)
|
||||
HasAbsoluteCall = true;
|
||||
}
|
||||
|
Reference in New Issue
Block a user