forked from OSchip/llvm-project
Some places that could using TargetParser in LLVM. NFC.
llvm-svn: 278888
This commit is contained in:
parent
4741661573
commit
53d55f45a1
|
@ -31,6 +31,7 @@
|
|||
#include "llvm/Target/TargetInstrInfo.h"
|
||||
#include "llvm/Target/TargetOptions.h"
|
||||
#include "llvm/Target/TargetRegisterInfo.h"
|
||||
#include "llvm/Support/TargetParser.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
|
@ -117,10 +118,11 @@ void ARMSubtarget::initSubtargetFeatures(StringRef CPU, StringRef FS) {
|
|||
|
||||
if (isTargetDarwin()) {
|
||||
StringRef ArchName = TargetTriple.getArchName();
|
||||
if (ArchName.endswith("v7s"))
|
||||
unsigned ArchKind = llvm::ARM::parseArch(ArchName);
|
||||
if (ArchKind == llvm::ARM::AK_ARMV7S)
|
||||
// Default to the Swift CPU when targeting armv7s/thumbv7s.
|
||||
CPUString = "swift";
|
||||
else if (ArchName.endswith("v7k"))
|
||||
else if (ArchKind == llvm::ARM::AK_ARMV7K)
|
||||
// Default to the Cortex-a7 CPU when targeting armv7k/thumbv7k.
|
||||
// ARMv7k does not use SjLj exception handling.
|
||||
CPUString = "cortex-a7";
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include "llvm/Support/CommandLine.h"
|
||||
#include "llvm/Support/FormattedStream.h"
|
||||
#include "llvm/Support/TargetRegistry.h"
|
||||
#include "llvm/Support/TargetParser.h"
|
||||
#include "llvm/Target/TargetOptions.h"
|
||||
#include "llvm/Transforms/Scalar.h"
|
||||
using namespace llvm;
|
||||
|
@ -84,11 +85,13 @@ computeTargetABI(const Triple &TT, StringRef CPU,
|
|||
ARMBaseTargetMachine::ARMABI TargetABI =
|
||||
ARMBaseTargetMachine::ARM_ABI_UNKNOWN;
|
||||
|
||||
unsigned ArchKind = llvm::ARM::parseCPUArch(CPU);
|
||||
StringRef ArchName = llvm::ARM::getArchName(ArchKind);
|
||||
// FIXME: This is duplicated code from the front end and should be unified.
|
||||
if (TT.isOSBinFormatMachO()) {
|
||||
if (TT.getEnvironment() == llvm::Triple::EABI ||
|
||||
(TT.getOS() == llvm::Triple::UnknownOS && TT.isOSBinFormatMachO()) ||
|
||||
CPU.startswith("cortex-m")) {
|
||||
llvm::ARM::parseArchProfile(ArchName) == llvm::ARM::PK_M) {
|
||||
TargetABI = ARMBaseTargetMachine::ARM_ABI_AAPCS;
|
||||
} else if (TT.isWatchABI()) {
|
||||
TargetABI = ARMBaseTargetMachine::ARM_ABI_AAPCS16;
|
||||
|
|
Loading…
Reference in New Issue