SparcSubtarget.h revision 4dcfaac2e390fdd0e8a562aeccb666178bd8664c
1f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project//=====-- SparcV8Subtarget.h - Define Subtarget for the SPARC -*- C++ -*--====// 2f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project// 3a3a2260384a906e1674c7498c2f479e9f37bc503Dmitry Shmidt// The LLVM Compiler Infrastructure 4f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project// 5f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project// This file was developed by Chris Lattner and is distributed under the 6f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project// University of Illinois Open Source License. See LICENSE.TXT for details. 7f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project// 8f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project//===----------------------------------------------------------------------===// 9f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project// 10f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project// This file declares the SPARC specific subclass of TargetSubtarget. 11f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project// 12f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project//===----------------------------------------------------------------------===// 13f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project 14f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project#ifndef SPARC_SUBTARGET_H 15f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project#define SPARC_SUBTARGET_H 16f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project 17f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project#include "llvm/Target/TargetSubtarget.h" 18f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project#include <string> 19f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project 20f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Projectnamespace llvm { 21f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project class Module; 22f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project 23f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Projectclass SparcV8Subtarget : public TargetSubtarget { 24f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project bool IsV9; 25f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project bool V8DeprecatedInsts; 26f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project bool IsVIS; 27f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Projectpublic: 28f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project SparcV8Subtarget(const Module &M, const std::string &FS); 29f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project 30e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt bool isV9() const { return IsV9; } 31f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project bool isVIS() const { return IsVIS; } 32f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project bool useDeprecatedV8Instructions() const { return V8DeprecatedInsts; } 33f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project 34e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt /// ParseSubtargetFeatures - Parses features string setting specified 35f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project /// subtarget options. Definition of function is auto generated by tblgen. 36f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project void ParseSubtargetFeatures(const std::string &FS, const std::string &CPU); 37e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt 38e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt}; 39e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt 40f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project} // end namespace llvm 41e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt 42f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project#endif 43f7c5421560640d23fc10803b9d59a9ff1d83e467The Android Open Source Project