diff options
| author | Chad Rosier <mcrosier@apple.com> | 2013-04-19 19:29:50 +0000 |
|---|---|---|
| committer | Chad Rosier <mcrosier@apple.com> | 2013-04-19 19:29:50 +0000 |
| commit | e8f9bfdb714946971da33a1d351c3448a077a340 (patch) | |
| tree | 8c301209549d7cf60ce9733a4a16881b612b5169 /llvm/lib/Target/X86 | |
| parent | 11ebe05643a7d71a138290ad67173a4754f3cfbb (diff) | |
| download | bcm5719-llvm-e8f9bfdb714946971da33a1d351c3448a077a340.tar.gz bcm5719-llvm-e8f9bfdb714946971da33a1d351c3448a077a340.zip | |
[ms-inline asm] Make code layout more canonical with iniline asm handled last.
llvm-svn: 179875
Diffstat (limited to 'llvm/lib/Target/X86')
| -rw-r--r-- | llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp index 0ac55ed29fc..395fd97f96a 100644 --- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp +++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp @@ -1341,20 +1341,20 @@ X86Operand *X86AsmParser::ParseIntelBracExpression(unsigned SegReg, SMLoc Start, int BaseReg = SM.getBaseReg(); int IndexReg = SM.getIndexReg(); int Scale = SM.getScale(); - - if (isParsingInlineAsm()) - return CreateMemForInlineAsm(SegReg, Disp, BaseReg, IndexReg, Scale, Start, - End, Size, SM.getSymName()); - - // handle [-42] - if (!BaseReg && !IndexReg) { - if (!SegReg) - return X86Operand::CreateMem(Disp, Start, End, Size); - else - return X86Operand::CreateMem(SegReg, Disp, 0, 0, 1, Start, End, Size); + if (!isParsingInlineAsm()) { + // handle [-42] + if (!BaseReg && !IndexReg) { + if (!SegReg) + return X86Operand::CreateMem(Disp, Start, End, Size); + else + return X86Operand::CreateMem(SegReg, Disp, 0, 0, 1, Start, End, Size); + } + return X86Operand::CreateMem(SegReg, Disp, BaseReg, IndexReg, Scale, Start, + End, Size); } - return X86Operand::CreateMem(SegReg, Disp, BaseReg, IndexReg, Scale, Start, - End, Size); + + return CreateMemForInlineAsm(SegReg, Disp, BaseReg, IndexReg, Scale, Start, + End, Size, SM.getSymName()); } // Inline assembly may use variable names with namespace alias qualifiers. |

