Replace string matching with a switch on Triple::getEnvironment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197332 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Joerg Sonnenberger 2013-12-15 00:12:52 +00:00
parent bfee019790
commit 7ad409a3e9

View File

@ -189,11 +189,17 @@ void ARMSubtarget::resetSubtargetFeatures(StringRef CPU, StringRef FS) {
// Initialize scheduling itinerary for the specified CPU.
InstrItins = getInstrItineraryForCPU(CPUString);
if ((TargetTriple.getTriple().find("eabi") != std::string::npos) ||
(isTargetIOS() && isMClass()))
// FIXME: We might want to separate AAPCS and EABI. Some systems, e.g.
// Darwin-EABI conforms to AACPS but not the rest of EABI.
switch (TargetTriple.getEnvironment()) {
case Triple::EABI:
case Triple::GNUEABI:
case Triple::GNUEABIHF:
TargetABI = ARM_ABI_AAPCS;
break;
default:
if (isTargetIOS() && isMClass())
TargetABI = ARM_ABI_AAPCS;
break;
}
if (isAAPCS_ABI())
stackAlignment = 8;