Author: mcrosier
Date: Fri Oct 12 17:53:52 2012
New Revision: 165834
URL: http://llvm.org/viewvc/llvm-project?rev=165834&view=rev
Log:
Update for r165833.
Modified:
cfe/trunk/lib/Sema/SemaStmtAsm.cpp
Modified: cfe/trunk/lib/Sema/SemaStmtAsm.cpp
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaStmtAsm.cpp?rev=165834&r1=165833&r2=165834&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaStmtAsm.cpp (original)
+++ cfe/trunk/lib/Sema/SemaStmtAsm.cpp Fri Oct 12 17:53:52 2012
@@ -501,13 +501,10 @@
if (HadError) { DEF_SIMPLE_MSASM(EmptyAsmStr); return Owned(NS); }
// Match the MCInstr.
- unsigned Kind;
unsigned Opcode;
unsigned ErrorInfo;
- SmallVector<std::pair< unsigned, std::string >, 4> MapAndConstraints;
- HadError = TargetParser->MatchInstruction(IDLoc, Operands, *Str.get(),
Kind,
- Opcode, MapAndConstraints,
- ErrorInfo,
+ HadError = TargetParser->MatchInstruction(IDLoc, Operands, *Str.get(),
+ Opcode, ErrorInfo,
/*matchingInlineAsm*/ true);
// If we had an error parsing the operands, fail gracefully.
if (HadError) { DEF_SIMPLE_MSASM(EmptyAsmStr); return Owned(NS); }
@@ -528,7 +525,7 @@
// Register.
if (Operands[i]->isReg()) {
// Clobber.
- if (NumDefs && (MapAndConstraints[i-1].first < NumDefs)) {
+ if (NumDefs && (Operands[i]->getMCOperandNum() < NumDefs)) {
std::string Reg;
llvm::raw_string_ostream OS(Reg);
IP->printRegName(OS, Operands[i]->getReg());
@@ -551,7 +548,6 @@
ExprResult Result = ActOnIdExpression(getCurScope(), SS, Loc, Id,
false, false);
if (!Result.isInvalid()) {
- // FIXME: Determine the proper constraints.
bool isMemDef = (i == 1) && Desc.mayStore();
if (isMemDef) {
Outputs.push_back(II);
@@ -559,14 +555,14 @@
OutputExprNames.push_back(Name.str());
OutputExprStrIdx.push_back(StrIdx);
- std::string Constraint = "=" + MapAndConstraints[i-1].second;
+ std::string Constraint = "=" + Operands[i]->getConstraint().str();
OutputConstraints.push_back(Constraint);
} else {
Inputs.push_back(II);
InputExprs.push_back(Result.take());
InputExprNames.push_back(Name.str());
InputExprStrIdx.push_back(StrIdx);
- InputConstraints.push_back(MapAndConstraints[i-1].second);
+ InputConstraints.push_back(Operands[i]->getConstraint());
}
}
}
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits