"an address is ignored"), cl::init(false), cl::Hidden);
AArch64Subtarget &
-AArch64Subtarget::initializeSubtargetDependencies(StringRef FS) {
+AArch64Subtarget::initializeSubtargetDependencies(StringRef FS,
+ StringRef CPUString) {
// Determine default and user-specified characteristics
if (CPUString.empty())
const std::string &FS,
const TargetMachine &TM, bool LittleEndian)
: AArch64GenSubtargetInfo(TT, CPU, FS), ReserveX18(TT.isOSDarwin()),
- IsLittle(LittleEndian), CPUString(CPU), TargetTriple(TT), FrameLowering(),
- InstrInfo(initializeSubtargetDependencies(FS)), TSInfo(),
+ IsLittle(LittleEndian), TargetTriple(TT), FrameLowering(),
+ InstrInfo(initializeSubtargetDependencies(FS, CPU)), TSInfo(),
TLInfo(TM, *this), GISel() {}
const CallLowering *AArch64Subtarget::getCallLowering() const {
bool IsLittle;
- /// CPUString - String name of used CPU.
- std::string CPUString;
-
/// TargetTriple - What processor and OS we're targeting.
Triple TargetTriple;
/// initializeSubtargetDependencies - Initializes using CPUString and the
/// passed in feature string so that we can use initializer lists for
/// subtarget initialization.
- AArch64Subtarget &initializeSubtargetDependencies(StringRef FS);
+ AArch64Subtarget &initializeSubtargetDependencies(StringRef FS,
+ StringRef CPUString);
/// Initialize properties based on the selected processor family.
void initializeProperties();