[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

NAKAMURA Takumi geek4civic at gmail.com
Thu Jan 10 16:42:51 PST 2013


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