llvm-mirror/include/llvm/Target/TargetSubtarget.h
2006-12-12 16:07:33 +00:00

42 lines
1.3 KiB
C++

//==-- llvm/Target/TargetSubtarget.h - Target Information --------*- C++ -*-==//
//
// The LLVM Compiler Infrastructure
//
// This file was developed by Nate Begeman and is distributed under the
// University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file describes the subtarget options of a Target machine.
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_TARGET_TARGETSUBTARGET_H
#define LLVM_TARGET_TARGETSUBTARGET_H
#include <string>
namespace llvm {
//===----------------------------------------------------------------------===//
///
/// TargetSubtarget - Generic base class for all target subtargets. All
/// Target-specific options that control code generation and printing should
/// be exposed through a TargetSubtarget-derived class.
///
class TargetSubtarget {
TargetSubtarget(const TargetSubtarget&); // DO NOT IMPLEMENT
void operator=(const TargetSubtarget&); // DO NOT IMPLEMENT
std::string CPU; // CPU name.
protected: // Can only create subclasses...
TargetSubtarget();
public:
virtual ~TargetSubtarget();
void setCPU(const std::string &C) { CPU = C; }
const std::string &getCPU() const { return CPU; }
};
} // End llvm namespace
#endif