aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--utils/TableGen/CodeGenDAGPatterns.cpp11
-rw-r--r--utils/TableGen/CodeGenDAGPatterns.h9
-rw-r--r--utils/TableGen/DAGISelMatcher.cpp7
3 files changed, 9 insertions, 18 deletions
diff --git a/utils/TableGen/CodeGenDAGPatterns.cpp b/utils/TableGen/CodeGenDAGPatterns.cpp
index bf4a719..1b38842 100644
--- a/utils/TableGen/CodeGenDAGPatterns.cpp
+++ b/utils/TableGen/CodeGenDAGPatterns.cpp
@@ -25,8 +25,6 @@ using namespace llvm;
// EEVT::TypeSet Implementation
//===----------------------------------------------------------------------===//
-// FIXME: Remove EEVT::isUnknown!
-
static inline bool isInteger(MVT::SimpleValueType VT) {
return EVT(VT).isInteger();
}
@@ -97,7 +95,7 @@ bool EEVT::TypeSet::hasVectorTypes() const {
std::string EEVT::TypeSet::getName() const {
- if (TypeVec.empty()) return "isUnknown";
+ if (TypeVec.empty()) return "<empty>";
std::string Result;
@@ -678,8 +676,8 @@ SDNodeInfo::SDNodeInfo(Record *R) : Def(R) {
/// getKnownType - If the type constraints on this node imply a fixed type
/// (e.g. all stores return void, etc), then return it as an
-/// MVT::SimpleValueType. Otherwise, return EEVT::isUnknown.
-unsigned SDNodeInfo::getKnownType() const {
+/// MVT::SimpleValueType. Otherwise, return EEVT::Other.
+MVT::SimpleValueType SDNodeInfo::getKnownType() const {
unsigned NumResults = getNumResults();
assert(NumResults <= 1 &&
"We only work with nodes with zero or one result so far!");
@@ -697,7 +695,7 @@ unsigned SDNodeInfo::getKnownType() const {
return MVT::iPTR;
}
}
- return EEVT::isUnknown;
+ return MVT::Other;
}
//===----------------------------------------------------------------------===//
@@ -1185,7 +1183,6 @@ bool TreePatternNode::ApplyTypeConstraints(TreePattern &TP, bool NotRegisters) {
MadeChange |= UpdateNodeType(getChild(0)->getExtType(), TP);
MadeChange |= getChild(0)->UpdateNodeType(getExtType(), TP);
}
-
unsigned ChildNo = 0;
for (unsigned i = 0, e = Inst.getNumOperands(); i != e; ++i) {
diff --git a/utils/TableGen/CodeGenDAGPatterns.h b/utils/TableGen/CodeGenDAGPatterns.h
index 487cbfc..404cb35 100644
--- a/utils/TableGen/CodeGenDAGPatterns.h
+++ b/utils/TableGen/CodeGenDAGPatterns.h
@@ -41,11 +41,6 @@ namespace llvm {
/// arbitrary integer, floating-point, and vector types, so only an unknown
/// value is needed.
namespace EEVT {
- enum DAGISelGenValueType {
- // FIXME: Remove EEVT::isUnknown!
- isUnknown = MVT::LAST_VALUETYPE
- };
-
/// TypeSet - This is either empty if it's completely unknown, or holds a set
/// of types. It is used during type inference because register classes can
/// have multiple possible types and we don't know which one they get until
@@ -212,8 +207,8 @@ public:
/// getKnownType - If the type constraints on this node imply a fixed type
/// (e.g. all stores return void, etc), then return it as an
- /// MVT::SimpleValueType. Otherwise, return EEVT::isUnknown.
- unsigned getKnownType() const;
+ /// MVT::SimpleValueType. Otherwise, return MVT::Other.
+ MVT::SimpleValueType getKnownType() const;
/// hasProperty - Return true if this node has the specified property.
///
diff --git a/utils/TableGen/DAGISelMatcher.cpp b/utils/TableGen/DAGISelMatcher.cpp
index 22d2fe8..cd3fad1 100644
--- a/utils/TableGen/DAGISelMatcher.cpp
+++ b/utils/TableGen/DAGISelMatcher.cpp
@@ -357,14 +357,13 @@ bool CheckOpcodeMatcher::isContradictoryImpl(const Matcher *M) const {
// ISD::STORE will never be true at the same time a check for Type i32 is.
if (const CheckTypeMatcher *CT = dyn_cast<CheckTypeMatcher>(M)) {
// FIXME: What result is this referring to?
- unsigned NodeType;
+ MVT::SimpleValueType NodeType;
if (getOpcode().getNumResults() == 0)
NodeType = MVT::isVoid;
else
NodeType = getOpcode().getKnownType();
- if (NodeType != EEVT::isUnknown)
- return TypesAreContradictory((MVT::SimpleValueType)NodeType,
- CT->getType());
+ if (NodeType != MVT::Other)
+ return TypesAreContradictory(NodeType, CT->getType());
}
return false;