mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 22:24:07 +00:00
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
This commit is contained in:
@ -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;
|
||||
|
Reference in New Issue
Block a user