remove parallel support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99703 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2010-03-27 02:53:27 +00:00
parent baba4bb72f
commit 310adf1c6f
3 changed files with 4 additions and 41 deletions

View File

@ -768,9 +768,6 @@ patterns:</p>
<dd>an implicitly defined physical register. This tells the dag instruction
selection emitter the input pattern's extra definitions matches implicit
physical register definitions.</dd>
<dt><tt>(parallel (a), (b))</tt></dt>
<dd>a list of dags specifying parallel operations which map to the same
instruction.</dd>
</div>

View File

@ -235,7 +235,6 @@ class SDNode<string opcode, SDTypeProfile typeprof,
// Special TableGen-recognized dag nodes
def set;
def implicit;
def parallel;
def node;
def srcvalue;

View File

@ -748,8 +748,7 @@ TreePatternNode::~TreePatternNode() {
static unsigned GetNumNodeResults(Record *Operator, CodeGenDAGPatterns &CDP) {
if (Operator->getName() == "set" ||
Operator->getName() == "implicit" ||
Operator->getName() == "parallel")
Operator->getName() == "implicit")
return 0; // All return nothing.
if (Operator->isSubClassOf("Intrinsic"))
@ -1184,8 +1183,7 @@ bool TreePatternNode::ApplyTypeConstraints(TreePattern &TP, bool NotRegisters) {
return MadeChange;
}
if (getOperator()->getName() == "implicit" ||
getOperator()->getName() == "parallel") {
if (getOperator()->getName() == "implicit") {
assert(getNumTypes() == 0 && "Node doesn't produce a value");
bool MadeChange = false;
@ -1529,8 +1527,7 @@ TreePatternNode *TreePattern::ParseTreePattern(DagInit *Dag) {
!Operator->isSubClassOf("SDNodeXForm") &&
!Operator->isSubClassOf("Intrinsic") &&
Operator->getName() != "set" &&
Operator->getName() != "implicit" &&
Operator->getName() != "parallel")
Operator->getName() != "implicit")
error("Unrecognized node '" + Operator->getName() + "'!");
// Check to see if this is something that is illegal in an input pattern.
@ -2549,37 +2546,7 @@ void CodeGenDAGPatterns::ParsePatterns() {
for (unsigned i = 0, e = Patterns.size(); i != e; ++i) {
Record *CurPattern = Patterns[i];
DagInit *Tree = CurPattern->getValueAsDag("PatternToMatch");
DefInit *OpDef = dynamic_cast<DefInit*>(Tree->getOperator());
Record *Operator = OpDef->getDef();
TreePattern *Pattern;
if (Operator->getName() != "parallel")
Pattern = new TreePattern(CurPattern, Tree, true, *this);
else {
std::vector<Init*> Values;
RecTy *ListTy = 0;
for (unsigned j = 0, ee = Tree->getNumArgs(); j != ee; ++j) {
Values.push_back(Tree->getArg(j));
TypedInit *TArg = dynamic_cast<TypedInit*>(Tree->getArg(j));
if (TArg == 0) {
errs() << "In dag: " << Tree->getAsString();
errs() << " -- Untyped argument in pattern\n";
assert(0 && "Untyped argument in pattern");
}
if (ListTy != 0) {
ListTy = resolveTypes(ListTy, TArg->getType());
if (ListTy == 0) {
errs() << "In dag: " << Tree->getAsString();
errs() << " -- Incompatible types in pattern arguments\n";
assert(0 && "Incompatible types in pattern arguments");
}
}
else {
ListTy = TArg->getType();
}
}
ListInit *LI = new ListInit(Values, new ListRecTy(ListTy));
Pattern = new TreePattern(CurPattern, LI, true, *this);
}
TreePattern *Pattern = new TreePattern(CurPattern, Tree, true, *this);
// Inline pattern fragments into it.
Pattern->InlinePatternFragments();