X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FTarget%2FSparc%2FSparcSubtarget.cpp;h=8a88cc076429a7be89d0a232ce63515c52a37858;hb=4e918b2c8ca81edd63f6708e08835b2c14648615;hp=9666ea9d4543d7a5a49d850a29741cd8b19a2b23;hpb=184cc4ac60dc853fac3baa5e96d5f662d311b2fb;p=oota-llvm.git diff --git a/lib/Target/Sparc/SparcSubtarget.cpp b/lib/Target/Sparc/SparcSubtarget.cpp index 9666ea9d454..8a88cc07642 100644 --- a/lib/Target/Sparc/SparcSubtarget.cpp +++ b/lib/Target/Sparc/SparcSubtarget.cpp @@ -1,9 +1,9 @@ -//===- SparcV8Subtarget.cpp - SPARC Subtarget Information -----------------===// +//===- SparcSubtarget.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 is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // @@ -11,11 +11,18 @@ // //===----------------------------------------------------------------------===// -#include "SparcV8Subtarget.h" -#include "SparcV8GenSubtarget.inc" +#include "SparcSubtarget.h" +#include "SparcGenSubtarget.inc" using namespace llvm; -SparcV8Subtarget::SparcV8Subtarget(const Module &M, const std::string &FS) { +// FIXME: temporary. +#include "llvm/Support/CommandLine.h" +namespace { + cl::opt EnableV9("enable-sparc-v9-insts", cl::Hidden, + cl::desc("Enable V9 instructions in the V8 target")); +} + +SparcSubtarget::SparcSubtarget(const std::string &TT, const std::string &FS) { // Set the default features. IsV9 = false; V8DeprecatedInsts = false; @@ -25,8 +32,12 @@ SparcV8Subtarget::SparcV8Subtarget(const Module &M, const std::string &FS) { 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; +}