mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-27 14:45:50 +00:00
Set ABI if it hasn't been set on the command line.
Check if architecture & ABI combination is valid. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140230 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
50fa74e8d2
commit
8c1b4bf066
@ -39,6 +39,15 @@ MipsSubtarget::MipsSubtarget(const std::string &TT, const std::string &CPU,
|
||||
// Initialize scheduling itinerary for the specified CPU.
|
||||
InstrItins = getInstrItineraryForCPU(CPUName);
|
||||
|
||||
// Set MipsABI if it hasn't been set yet.
|
||||
if (MipsABI == UnknownABI)
|
||||
MipsABI = hasMips64() ? N64 : O32;
|
||||
|
||||
// Check if Architecture and ABI are compatible.
|
||||
assert(((!hasMips64() && (isABI_O32() || isABI_EABI())) ||
|
||||
(hasMips64() && (isABI_N32() || isABI_N64()))) &&
|
||||
"Invalid Arch & ABI pair.");
|
||||
|
||||
// Is the target system Linux ?
|
||||
if (TT.find("linux") == std::string::npos)
|
||||
IsLinux = false;
|
||||
|
@ -29,7 +29,7 @@ class MipsSubtarget : public MipsGenSubtargetInfo {
|
||||
public:
|
||||
// NOTE: O64 will not be supported.
|
||||
enum MipsABIEnum {
|
||||
O32, N32, N64, EABI
|
||||
UnknownABI, O32, N32, N64, EABI
|
||||
};
|
||||
|
||||
protected:
|
||||
|
Loading…
Reference in New Issue
Block a user