//===- SparcV8Subtarget.cpp - SPARC Subtarget Information -----------------===// // // The LLVM Compiler Infrastructure // // This file was developed by Chris Lattner and is distributed under the // University of Illinois Open Source License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This file implements the SPARC specific subclass of TargetSubtarget. // //===----------------------------------------------------------------------===// #include "SparcV8Subtarget.h" #include "SparcV8GenSubtarget.inc" using namespace llvm; // FIXME: temporary. #include "llvm/Support/CommandLine.h" namespace { cl::opt<bool> EnableV9("enable-sparc-v9-insts", cl::Hidden, cl::desc("Enable V9 instructions in the V8 target")); } SparcV8Subtarget::SparcV8Subtarget(const Module &M, const std::string &FS) { // Set the default features. IsV9 = false; V8DeprecatedInsts = false; IsVIS = false; // Determine default and user specified characteristics std::string CPU = "generic"; // FIXME: autodetect host here! CPU = "v9"; // What is a good way to detect V9? // Parse features string. ParseSubtargetFeatures(FS, CPU); // Unless explicitly enabled, disable the V9 instructions. if (!EnableV9) IsV9 = false; };