aboutsummaryrefslogtreecommitdiff
path: root/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/utils/TableGen/CodeGenDAGPatterns.cpp')
-rw-r--r--llvm/utils/TableGen/CodeGenDAGPatterns.cpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
index 3260d02..e481f7e 100644
--- a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
+++ b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
@@ -1762,7 +1762,7 @@ bool TreePatternNode::UpdateNodeTypeFromInst(unsigned ResNo,
}
bool TreePatternNode::ContainsUnresolvedType(TreePattern &TP) const {
- for (unsigned i = 0, e = getNumTypes(); i != e; ++i)
+ for (unsigned i = 0, e = Types.size(); i != e; ++i)
if (!TP.getInfer().isConcrete(Types[i], true))
return true;
for (unsigned i = 0, e = getNumChildren(); i != e; ++i)
@@ -1772,7 +1772,7 @@ bool TreePatternNode::ContainsUnresolvedType(TreePattern &TP) const {
}
bool TreePatternNode::hasProperTypeByHwMode() const {
- for (const TypeSetByHwMode &S : getExtTypes())
+ for (const TypeSetByHwMode &S : Types)
if (!S.isSimple())
return true;
for (const TreePatternNodePtr &C : Children)
@@ -1782,7 +1782,7 @@ bool TreePatternNode::hasProperTypeByHwMode() const {
}
bool TreePatternNode::hasPossibleType() const {
- for (const TypeSetByHwMode &S : getExtTypes())
+ for (const TypeSetByHwMode &S : Types)
if (!S.isPossible())
return false;
for (const TreePatternNodePtr &C : Children)
@@ -1792,7 +1792,7 @@ bool TreePatternNode::hasPossibleType() const {
}
bool TreePatternNode::setDefaultMode(unsigned Mode) {
- for (TypeSetByHwMode &S : getExtTypes()) {
+ for (TypeSetByHwMode &S : Types) {
S.makeSimple(Mode);
// Check if the selected mode had a type conflict.
if (S.get(DefaultMode).empty())
@@ -1932,7 +1932,7 @@ void TreePatternNode::print(raw_ostream &OS) const {
else
OS << '(' << getOperator()->getName();
- for (unsigned i = 0, e = getNumTypes(); i != e; ++i) {
+ for (unsigned i = 0, e = Types.size(); i != e; ++i) {
OS << ':';
getExtType(i).writeToStream(OS);
}
@@ -2024,7 +2024,7 @@ TreePatternNodePtr TreePatternNode::clone() const {
}
New->setName(getName());
New->setNamesAsPredicateArg(getNamesAsPredicateArg());
- llvm::copy(getExtTypes(), New->getExtTypes().begin());
+ New->Types = Types;
New->setPredicateCalls(getPredicateCalls());
New->setGISelFlagsRecord(getGISelFlagsRecord());
New->setTransformFn(getTransformFn());
@@ -2034,7 +2034,7 @@ TreePatternNodePtr TreePatternNode::clone() const {
/// RemoveAllTypes - Recursively strip all the types of this tree.
void TreePatternNode::RemoveAllTypes() {
// Reset to unknown type.
- std::fill(getExtTypes().begin(), getExtTypes().end(), TypeSetByHwMode());
+ std::fill(Types.begin(), Types.end(), TypeSetByHwMode());
if (isLeaf()) return;
for (unsigned i = 0, e = getNumChildren(); i != e; ++i)
getChild(i)->RemoveAllTypes();
@@ -2130,10 +2130,10 @@ void TreePatternNode::InlinePatternFragments(
R->setPredicateCalls(getPredicateCalls());
R->setGISelFlagsRecord(getGISelFlagsRecord());
R->setTransformFn(getTransformFn());
- for (unsigned i = 0, e = getNumTypes(); i != e; ++i) {
+ for (unsigned i = 0, e = getNumTypes(); i != e; ++i)
R->setType(i, getExtType(i));
+ for (unsigned i = 0, e = getNumResults(); i != e; ++i)
R->setResultIndex(i, getResultIndex(i));
- }
// Register alternative.
OutAlternatives.push_back(R);
@@ -2468,7 +2468,7 @@ bool TreePatternNode::ApplyTypeConstraints(TreePattern &TP, bool NotRegisters) {
if (DefInit *DI = dyn_cast<DefInit>(getLeafValue())) {
// If it's a regclass or something else known, include the type.
bool MadeChange = false;
- for (unsigned i = 0, e = getNumTypes(); i != e; ++i)
+ for (unsigned i = 0, e = Types.size(); i != e; ++i)
MadeChange |= UpdateNodeType(i, getImplicitType(DI->getDef(), i,
NotRegisters,
!hasName(), TP), TP);
@@ -2476,7 +2476,7 @@ bool TreePatternNode::ApplyTypeConstraints(TreePattern &TP, bool NotRegisters) {
}
if (IntInit *II = dyn_cast<IntInit>(getLeafValue())) {
- assert(getNumTypes() == 1 && "Invalid IntInit");
+ assert(Types.size() == 1 && "Invalid IntInit");
// Int inits are always integers. :)
bool MadeChange = TP.getInfer().EnforceInteger(Types[0]);
@@ -2713,7 +2713,7 @@ bool TreePatternNode::ApplyTypeConstraints(TreePattern &TP, bool NotRegisters) {
bool MadeChange = false;
if (!NotRegisters) {
- assert(getNumTypes() == 1 && "ComplexPatterns only produce one result!");
+ assert(Types.size() == 1 && "ComplexPatterns only produce one result!");
Record *T = CDP.getComplexPattern(getOperator()).getValueType();
const CodeGenHwModes &CGH = CDP.getTargetInfo().getHwModes();
const ValueTypeByHwMode VVT = getValueTypeByHwMode(T, CGH);