@@ -1762,7 +1762,7 @@ bool TreePatternNode::UpdateNodeTypeFromInst(unsigned ResNo,
1762
1762
}
1763
1763
1764
1764
bool TreePatternNode::ContainsUnresolvedType (TreePattern &TP) const {
1765
- for (unsigned i = 0 , e = getNumTypes (); i != e; ++i)
1765
+ for (unsigned i = 0 , e = Types. size (); i != e; ++i)
1766
1766
if (!TP.getInfer ().isConcrete (Types[i], true ))
1767
1767
return true ;
1768
1768
for (unsigned i = 0 , e = getNumChildren (); i != e; ++i)
@@ -1772,7 +1772,7 @@ bool TreePatternNode::ContainsUnresolvedType(TreePattern &TP) const {
1772
1772
}
1773
1773
1774
1774
bool TreePatternNode::hasProperTypeByHwMode () const {
1775
- for (const TypeSetByHwMode &S : getExtTypes () )
1775
+ for (const TypeSetByHwMode &S : Types )
1776
1776
if (!S.isSimple ())
1777
1777
return true ;
1778
1778
for (const TreePatternNodePtr &C : Children)
@@ -1782,7 +1782,7 @@ bool TreePatternNode::hasProperTypeByHwMode() const {
1782
1782
}
1783
1783
1784
1784
bool TreePatternNode::hasPossibleType () const {
1785
- for (const TypeSetByHwMode &S : getExtTypes () )
1785
+ for (const TypeSetByHwMode &S : Types )
1786
1786
if (!S.isPossible ())
1787
1787
return false ;
1788
1788
for (const TreePatternNodePtr &C : Children)
@@ -1792,7 +1792,7 @@ bool TreePatternNode::hasPossibleType() const {
1792
1792
}
1793
1793
1794
1794
bool TreePatternNode::setDefaultMode (unsigned Mode) {
1795
- for (TypeSetByHwMode &S : getExtTypes () ) {
1795
+ for (TypeSetByHwMode &S : Types ) {
1796
1796
S.makeSimple (Mode);
1797
1797
// Check if the selected mode had a type conflict.
1798
1798
if (S.get (DefaultMode).empty ())
@@ -1932,7 +1932,7 @@ void TreePatternNode::print(raw_ostream &OS) const {
1932
1932
else
1933
1933
OS << ' (' << getOperator ()->getName ();
1934
1934
1935
- for (unsigned i = 0 , e = getNumTypes (); i != e; ++i) {
1935
+ for (unsigned i = 0 , e = Types. size (); i != e; ++i) {
1936
1936
OS << ' :' ;
1937
1937
getExtType (i).writeToStream (OS);
1938
1938
}
@@ -2024,7 +2024,7 @@ TreePatternNodePtr TreePatternNode::clone() const {
2024
2024
}
2025
2025
New->setName (getName ());
2026
2026
New->setNamesAsPredicateArg (getNamesAsPredicateArg ());
2027
- llvm::copy ( getExtTypes (), New->getExtTypes (). begin ()) ;
2027
+ New->Types = Types ;
2028
2028
New->setPredicateCalls (getPredicateCalls ());
2029
2029
New->setGISelFlagsRecord (getGISelFlagsRecord ());
2030
2030
New->setTransformFn (getTransformFn ());
@@ -2034,7 +2034,7 @@ TreePatternNodePtr TreePatternNode::clone() const {
2034
2034
// / RemoveAllTypes - Recursively strip all the types of this tree.
2035
2035
void TreePatternNode::RemoveAllTypes () {
2036
2036
// Reset to unknown type.
2037
- std::fill (getExtTypes () .begin (), getExtTypes () .end (), TypeSetByHwMode ());
2037
+ std::fill (Types .begin (), Types .end (), TypeSetByHwMode ());
2038
2038
if (isLeaf ()) return ;
2039
2039
for (unsigned i = 0 , e = getNumChildren (); i != e; ++i)
2040
2040
getChild (i)->RemoveAllTypes ();
@@ -2130,10 +2130,10 @@ void TreePatternNode::InlinePatternFragments(
2130
2130
R->setPredicateCalls (getPredicateCalls ());
2131
2131
R->setGISelFlagsRecord (getGISelFlagsRecord ());
2132
2132
R->setTransformFn (getTransformFn ());
2133
- for (unsigned i = 0 , e = getNumTypes (); i != e; ++i) {
2133
+ for (unsigned i = 0 , e = getNumTypes (); i != e; ++i)
2134
2134
R->setType (i, getExtType (i));
2135
+ for (unsigned i = 0 , e = getNumResults (); i != e; ++i)
2135
2136
R->setResultIndex (i, getResultIndex (i));
2136
- }
2137
2137
2138
2138
// Register alternative.
2139
2139
OutAlternatives.push_back (R);
@@ -2468,15 +2468,15 @@ bool TreePatternNode::ApplyTypeConstraints(TreePattern &TP, bool NotRegisters) {
2468
2468
if (DefInit *DI = dyn_cast<DefInit>(getLeafValue ())) {
2469
2469
// If it's a regclass or something else known, include the type.
2470
2470
bool MadeChange = false ;
2471
- for (unsigned i = 0 , e = getNumTypes (); i != e; ++i)
2471
+ for (unsigned i = 0 , e = Types. size (); i != e; ++i)
2472
2472
MadeChange |= UpdateNodeType (i, getImplicitType (DI->getDef (), i,
2473
2473
NotRegisters,
2474
2474
!hasName (), TP), TP);
2475
2475
return MadeChange;
2476
2476
}
2477
2477
2478
2478
if (IntInit *II = dyn_cast<IntInit>(getLeafValue ())) {
2479
- assert (getNumTypes () == 1 && " Invalid IntInit" );
2479
+ assert (Types. size () == 1 && " Invalid IntInit" );
2480
2480
2481
2481
// Int inits are always integers. :)
2482
2482
bool MadeChange = TP.getInfer ().EnforceInteger (Types[0 ]);
@@ -2713,7 +2713,7 @@ bool TreePatternNode::ApplyTypeConstraints(TreePattern &TP, bool NotRegisters) {
2713
2713
bool MadeChange = false ;
2714
2714
2715
2715
if (!NotRegisters) {
2716
- assert (getNumTypes () == 1 && " ComplexPatterns only produce one result!" );
2716
+ assert (Types. size () == 1 && " ComplexPatterns only produce one result!" );
2717
2717
Record *T = CDP.getComplexPattern (getOperator ()).getValueType ();
2718
2718
const CodeGenHwModes &CGH = CDP.getTargetInfo ().getHwModes ();
2719
2719
const ValueTypeByHwMode VVT = getValueTypeByHwMode (T, CGH);
0 commit comments