diff options
author | Evan Cheng <evan.cheng@apple.com> | 2006-11-01 00:27:05 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2006-11-01 00:27:05 +0000 |
commit | e2ba8975883874633a1035c245af3b948b940b25 (patch) | |
tree | c96cb0a2c458ddce539001e9f610df39969257df /utils/TableGen/DAGISelEmitter.cpp | |
parent | 2f15c063baec25d337a8cd18cb8209e866b7845d (diff) | |
download | llvm-e2ba8975883874633a1035c245af3b948b940b25.tar.gz llvm-e2ba8975883874633a1035c245af3b948b940b25.tar.bz2 llvm-e2ba8975883874633a1035c245af3b948b940b25.tar.xz |
Add operand constraints to TargetInstrInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31333 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/DAGISelEmitter.cpp')
-rw-r--r-- | utils/TableGen/DAGISelEmitter.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/utils/TableGen/DAGISelEmitter.cpp b/utils/TableGen/DAGISelEmitter.cpp index 4f5a731736..dfeea10d9e 100644 --- a/utils/TableGen/DAGISelEmitter.cpp +++ b/utils/TableGen/DAGISelEmitter.cpp @@ -3552,11 +3552,14 @@ void DAGISelEmitter::EmitInstructionSelector(std::ostream &OS) { // Emit boilerplate. OS << "SDNode *Select_INLINEASM(SDOperand N) {\n" << " std::vector<SDOperand> Ops(N.Val->op_begin(), N.Val->op_end());\n" - << " AddToISelQueue(N.getOperand(0)); // Select the chain.\n\n" + << " AddToISelQueue(N.getOperand(0)); // Select the chain.\n" << " // Select the flag operand.\n" << " if (Ops.back().getValueType() == MVT::Flag)\n" << " AddToISelQueue(Ops.back());\n" << " SelectInlineAsmMemoryOperands(Ops, *CurDAG);\n" + << " for (unsigned i = 2, e = Ops.size(); i < e; ++i)\n" + << " if (Ops[i].getOpcode() != ISD::Constant)\n" + << " AddToISelQueue(Ops[i]);\n" << " std::vector<MVT::ValueType> VTs;\n" << " VTs.push_back(MVT::Other);\n" << " VTs.push_back(MVT::Flag);\n" @@ -3582,6 +3585,7 @@ void DAGISelEmitter::EmitInstructionSelector(std::ostream &OS) { << " case ISD::TargetConstantPool:\n" << " case ISD::TargetFrameIndex:\n" << " case ISD::TargetJumpTable:\n" + << " case ISD::TargetExternalSymbol:\n" << " case ISD::TargetGlobalAddress: {\n" << " return NULL;\n" << " }\n" |