summaryrefslogtreecommitdiffstats
path: root/lib/Target/Mips/MipsSubtarget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/Mips/MipsSubtarget.cpp')
-rw-r--r--lib/Target/Mips/MipsSubtarget.cpp36
1 files changed, 5 insertions, 31 deletions
diff --git a/lib/Target/Mips/MipsSubtarget.cpp b/lib/Target/Mips/MipsSubtarget.cpp
index 4245f27..db114da 100644
--- a/lib/Target/Mips/MipsSubtarget.cpp
+++ b/lib/Target/Mips/MipsSubtarget.cpp
@@ -14,37 +14,20 @@
#include "MipsSubtarget.h"
#include "Mips.h"
#include "MipsGenSubtarget.inc"
-#include "llvm/Module.h"
-#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"));
-static cl::opt<unsigned>
-SSThreshold("mips-ssection-threshold", cl::Hidden,
- cl::desc("Small data and bss section threshold size (default=8)"),
- cl::init(8));
-
-MipsSubtarget::MipsSubtarget(const TargetMachine &TM, const Module &M,
- 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;
// Parse features string.
ParseSubtargetFeatures(FS, CPU);
- const std::string& TT = M.getTargetTriple();
-
- // Small section size threshold
- SSectionThreshold = SSThreshold;
// Is the target system Linux ?
if (TT.find("linux") == std::string::npos)
@@ -65,13 +48,4 @@ MipsSubtarget::MipsSubtarget(const TargetMachine &TM, const Module &M,
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;
}
OpenPOWER on IntegriCloud