llvm.org GIT mirror llvm / 520f3c9
Merge inline asm fix from mainline. git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_20@37209 91177308-0d34-0410-b5e6-96231b3b80d8 Tanya Lattner 13 years ago
1 changed file(s) with 7 addition(s) and 5 deletion(s). Raw diff Collapse all Expand all
36773677 // Emit boilerplate.
36783678 OS << "SDNode *Select_INLINEASM(SDOperand N) {\n"
36793679 << " std::vector Ops(N.Val->op_begin(), N.Val->op_end());\n"
3680 << " AddToISelQueue(N.getOperand(0)); // Select the chain.\n\n"
3681 << " // Select the flag operand.\n"
3682 << " if (Ops.back().getValueType() == MVT::Flag)\n"
3683 << " AddToISelQueue(Ops.back());\n"
3684 << " SelectInlineAsmMemoryOperands(Ops, *CurDAG);\n"
3680 << " SelectInlineAsmMemoryOperands(Ops, *CurDAG);\n\n"
3681
3682 << " // Ensure that the asm operands are themselves selected.\n"
3683 << " for (unsigned j = 0, e = Ops.size(); j != e; ++j)\n"
3684 << " AddToISelQueue(Ops[j]);\n\n"
3685
36853686 << " std::vector VTs;\n"
36863687 << " VTs.push_back(MVT::Other);\n"
36873688 << " VTs.push_back(MVT::Flag);\n"
37173718 << " case ISD::TargetConstant:\n"
37183719 << " case ISD::TargetConstantPool:\n"
37193720 << " case ISD::TargetFrameIndex:\n"
3721 << " case ISD::TargetExternalSymbol:\n"
37203722 << " case ISD::TargetJumpTable:\n"
37213723 << " case ISD::TargetGlobalTLSAddress:\n"
37223724 << " case ISD::TargetGlobalAddress: {\n"