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
diff --git a/lib/Target/Mips/MipsSubtarget.cpp b/lib/Target/Mips/MipsSubtarget.cpp
index c56bc9d..a85028c 100644
--- a/lib/Target/Mips/MipsSubtarget.cpp
+++ b/lib/Target/Mips/MipsSubtarget.cpp
@@ -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 @@
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;
}