[llvm-commits] [llvm] r172121 - in /llvm/trunk: include/llvm/MC/MCParser/MCAsmParser.h include/llvm/MC/MCParser/MCParsedAsmOperand.h lib/MC/MCParser/AsmParser.cpp lib/Target/X86/AsmParser/X86AsmParser.cpp test/CodeGen/X86/ms-inline-asm.ll
Chad Rosier
mcrosier at apple.com
Thu Jan 10 17:05:13 PST 2013
Thanks, Nakamura. I believe r172148 should have taken care of the problem as well.
Chad
On Jan 10, 2013, at 4:42 PM, NAKAMURA Takumi <geek4civic at gmail.com> wrote:
> 2013/1/11 Chad Rosier <mcrosier at apple.com>:
>> Author: mcrosier
>> Date: Thu Jan 10 16:10:27 2013
>> New Revision: 172121
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=172121&view=rev
>> Log:
>> [ms-inline asm] Add support for calling functions from inline assembly.
>> Part of rdar://12991541
>>
>> Modified:
>> llvm/trunk/include/llvm/MC/MCParser/MCAsmParser.h
>> llvm/trunk/include/llvm/MC/MCParser/MCParsedAsmOperand.h
>> llvm/trunk/lib/MC/MCParser/AsmParser.cpp
>> llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
>> llvm/trunk/test/CodeGen/X86/ms-inline-asm.ll
>
>> Modified: llvm/trunk/lib/MC/MCParser/AsmParser.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCParser/AsmParser.cpp?rev=172121&r1=172120&r2=172121&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/MC/MCParser/AsmParser.cpp (original)
>> +++ llvm/trunk/lib/MC/MCParser/AsmParser.cpp Thu Jan 10 16:10:27 2013
>> @@ -3842,7 +3843,7 @@
>> std::string Constraint = "=";
>> ++InputIdx;
>> OutputDecls.push_back(OpDecl);
>> - OutputDeclsOffsetOf.push_back(Operand->isOffsetOf());
>> + OutputDeclsAddressOf.push_back(Operand->needAddressOf());
>> Constraint += Operand->getConstraint().str();
>> OutputConstraints.push_back(Constraint);
>> AsmStrRewrites.push_back(AsmRewrite(AOK_Output,
>> @@ -3850,7 +3851,7 @@
>> Operand->getNameLen()));
>> } else {
>> InputDecls.push_back(OpDecl);
>> - InputDeclsOffsetOf.push_back(Operand->isOffsetOf());
>> + InputDeclsAddressOf.push_back(Operand->needAddressOf());
>> InputConstraints.push_back(Operand->getConstraint().str());
>> AsmStrRewrites.push_back(AsmRewrite(AOK_Input,
>> Operand->getStartLoc(),
>
> needAddressOf() is valid only if isReg(). Fixed in r172153. Valgrined helped.
More information about the llvm-commits
mailing list