diff options
author | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2008-07-21 18:52:34 +0000 |
---|---|---|
committer | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2008-07-21 18:52:34 +0000 |
commit | 91fd532eb9a18c0fd8d91b975226ef6b41c772ec (patch) | |
tree | 5441c955f34bb60888c218900906b1cca1483227 /lib/Target/Mips/MipsSubtarget.cpp | |
parent | 6116a73da420d9b414a34ce2599dc7f6476e23fc (diff) | |
download | external_llvm-91fd532eb9a18c0fd8d91b975226ef6b41c772ec.zip external_llvm-91fd532eb9a18c0fd8d91b975226ef6b41c772ec.tar.gz external_llvm-91fd532eb9a18c0fd8d91b975226ef6b41c772ec.tar.bz2 |
Added initial support for small sections on Mips.
Added gp_rel relocations to support addressing small section contents.
Added command line to specify small section threshold in bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53869 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/MipsSubtarget.cpp')
-rw-r--r-- | lib/Target/Mips/MipsSubtarget.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Target/Mips/MipsSubtarget.cpp b/lib/Target/Mips/MipsSubtarget.cpp index 3424388..bc87e4b 100644 --- a/lib/Target/Mips/MipsSubtarget.cpp +++ b/lib/Target/Mips/MipsSubtarget.cpp @@ -22,6 +22,9 @@ cl::opt<bool> NotABICall("disable-mips-abicall", cl::Hidden, cl::desc("Disable code for SVR4-style dynamic objects")); cl::opt<bool> AbsoluteCall("enable-mips-absolute-call", cl::Hidden, cl::desc("Enable absolute call within abicall")); +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) : @@ -35,6 +38,9 @@ MipsSubtarget::MipsSubtarget(const TargetMachine &TM, const Module &M, 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) IsLinux = false; |