Changes in directory llvm/lib/VMCore:
InlineAsm.cpp updated: 1.11 -> 1.12 --- Log message: represent indirect operands explicitly in inline asm strings. --- Diffs of the changes: (+9 -8) InlineAsm.cpp | 17 +++++++++-------- 1 files changed, 9 insertions(+), 8 deletions(-) Index: llvm/lib/VMCore/InlineAsm.cpp diff -u llvm/lib/VMCore/InlineAsm.cpp:1.11 llvm/lib/VMCore/InlineAsm.cpp:1.12 --- llvm/lib/VMCore/InlineAsm.cpp:1.11 Wed Jun 7 18:03:13 2006 +++ llvm/lib/VMCore/InlineAsm.cpp Fri Apr 27 20:02:58 2007 @@ -55,21 +55,22 @@ // Initialize Type = isInput; isEarlyClobber = false; - isIndirectOutput = false; hasMatchingInput = false; isCommutative = false; + isIndirect = false; - // Parse the prefix. + // Parse prefixes. if (*I == '~') { Type = isClobber; ++I; } else if (*I == '=') { ++I; Type = isOutput; - if (I != E && *I == '=') { - isIndirectOutput = true; - ++I; - } + } + + if (*I == '*') { + isIndirect = true; + ++I; } if (I == E) return true; // Just a prefix, like "==" or "~". @@ -184,12 +185,12 @@ for (unsigned i = 0, e = Constraints.size(); i != e; ++i) { switch (Constraints[i].Type) { case InlineAsm::isOutput: - if (!Constraints[i].isIndirectOutput) { + if (!Constraints[i].isIndirect) { if (NumInputs || NumClobbers) return false; // outputs come first. ++NumOutputs; break; } - // FALLTHROUGH for IndirectOutputs. + // FALLTHROUGH for Indirect Outputs. case InlineAsm::isInput: if (NumClobbers) return false; // inputs before clobbers. ++NumInputs; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits