mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-12 03:32:10 +00:00
Add support for nodes with void arguments, like chain nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7869 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
af06a08584
commit
673537e5c0
@ -299,6 +299,9 @@ bool Pattern::InferTypes(TreePatternNode *N, bool &MadeChange) {
|
||||
MadeChange |= Child->updateNodeType(ISE.getTarget().getPointerType(),
|
||||
TheRecord->getName());
|
||||
break;
|
||||
case NodeType::Void:
|
||||
MadeChange |= Child->updateNodeType(MVT::isVoid, TheRecord->getName());
|
||||
break;
|
||||
default: assert(0 && "Invalid argument ArgType!");
|
||||
}
|
||||
}
|
||||
@ -449,8 +452,6 @@ void InstrSelectorEmitter::ReadNodeTypes() {
|
||||
throw "In node " + Node->getName() + ", arg 0 cannot have type 'arg0'!";
|
||||
if (a == 1 && ArgTypes.back() == NodeType::Arg1)
|
||||
throw "In node " + Node->getName() + ", arg 1 cannot have type 'arg1'!";
|
||||
if (ArgTypes.back() == NodeType::Void)
|
||||
throw "In node " + Node->getName() + ", args cannot be void type!";
|
||||
}
|
||||
if ((RetTy == NodeType::Arg0 && Args->getSize() == 0) ||
|
||||
(RetTy == NodeType::Arg1 && Args->getSize() < 2))
|
||||
|
@ -299,6 +299,9 @@ bool Pattern::InferTypes(TreePatternNode *N, bool &MadeChange) {
|
||||
MadeChange |= Child->updateNodeType(ISE.getTarget().getPointerType(),
|
||||
TheRecord->getName());
|
||||
break;
|
||||
case NodeType::Void:
|
||||
MadeChange |= Child->updateNodeType(MVT::isVoid, TheRecord->getName());
|
||||
break;
|
||||
default: assert(0 && "Invalid argument ArgType!");
|
||||
}
|
||||
}
|
||||
@ -449,8 +452,6 @@ void InstrSelectorEmitter::ReadNodeTypes() {
|
||||
throw "In node " + Node->getName() + ", arg 0 cannot have type 'arg0'!";
|
||||
if (a == 1 && ArgTypes.back() == NodeType::Arg1)
|
||||
throw "In node " + Node->getName() + ", arg 1 cannot have type 'arg1'!";
|
||||
if (ArgTypes.back() == NodeType::Void)
|
||||
throw "In node " + Node->getName() + ", args cannot be void type!";
|
||||
}
|
||||
if ((RetTy == NodeType::Arg0 && Args->getSize() == 0) ||
|
||||
(RetTy == NodeType::Arg1 && Args->getSize() < 2))
|
||||
|
Loading…
x
Reference in New Issue
Block a user