projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Move DataTypes.h to include/llvm/System, update all users. This breaks the last
[oota-llvm.git]
/
include
/
llvm
/
Target
/
SubtargetFeature.h
diff --git
a/include/llvm/Target/SubtargetFeature.h
b/include/llvm/Target/SubtargetFeature.h
index 89e6efef37664228de13e6de0a68d51f471a2259..a709f523897c23972aed2c5a3a91780b1ac093b5 100644
(file)
--- a/
include/llvm/Target/SubtargetFeature.h
+++ b/
include/llvm/Target/SubtargetFeature.h
@@
-2,8
+2,8
@@
//
// The LLVM Compiler Infrastructure
//
//
// The LLVM Compiler Infrastructure
//
-// This file
was developed by James M. Laskey 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.
//
//===----------------------------------------------------------------------===//
//
//
//===----------------------------------------------------------------------===//
//
@@
-20,11
+20,12
@@
#include <string>
#include <vector>
#include <string>
#include <vector>
-#include <
iosfwd
>
-#include "llvm/S
upport
/DataTypes.h"
+#include <
cstring
>
+#include "llvm/S
ystem
/DataTypes.h"
namespace llvm {
namespace llvm {
-
+ class raw_ostream;
+
//===----------------------------------------------------------------------===//
///
/// SubtargetFeatureKV - Used to provide key value pairs for feature and
//===----------------------------------------------------------------------===//
///
/// SubtargetFeatureKV - Used to provide key value pairs for feature and
@@
-34,6
+35,7
@@
struct SubtargetFeatureKV {
const char *Key; // K-V key string
const char *Desc; // Help descriptor
uint32_t Value; // K-V integer value
const char *Key; // K-V key string
const char *Desc; // Help descriptor
uint32_t Value; // K-V integer value
+ uint32_t Implies; // K-V bit mask
// Compare routine for std binary search
bool operator<(const SubtargetFeatureKV &S) const {
// Compare routine for std binary search
bool operator<(const SubtargetFeatureKV &S) const {
@@
-72,7
+74,7
@@
struct SubtargetInfoKV {
class SubtargetFeatures {
std::vector<std::string> Features; // Subtarget features as a vector
public:
class SubtargetFeatures {
std::vector<std::string> Features; // Subtarget features as a vector
public:
- SubtargetFeatures(const std::string &Initial = std::string());
+
explicit
SubtargetFeatures(const std::string &Initial = std::string());
/// Features string accessors.
std::string getString() const;
/// Features string accessors.
std::string getString() const;
@@
-80,10
+82,13
@@
public:
/// Set the CPU string. Replaces previous setting. Setting to "" clears CPU.
void setCPU(const std::string &String);
/// Set the CPU string. Replaces previous setting. Setting to "" clears CPU.
void setCPU(const std::string &String);
-
+
/// Setting CPU string only if no string is set.
void setCPUIfNone(const std::string &String);
/// Setting CPU string only if no string is set.
void setCPUIfNone(const std::string &String);
-
+
+ /// Returns current CPU string.
+ const std::string & getCPU() const;
+
/// Adding Features.
void AddFeature(const std::string &String, bool IsEnabled = true);
/// Adding Features.
void AddFeature(const std::string &String, bool IsEnabled = true);
@@
-97,7
+102,7
@@
public:
void *getInfo(const SubtargetInfoKV *Table, size_t TableSize);
/// Print feature string.
void *getInfo(const SubtargetInfoKV *Table, size_t TableSize);
/// Print feature string.
- void print(
std::
ostream &OS) const;
+ void print(
raw_
ostream &OS) const;
// Dump feature info.
void dump() const;
// Dump feature info.
void dump() const;