From fd04c74bc0f83966f26d9f62a98f3ea9eaa83fd1 Mon Sep 17 00:00:00 2001 From: Dale Johannesen Date: Tue, 13 Oct 2009 20:46:56 +0000 Subject: Add an "msasm" flag to inline asm as suggested in PR 5125. A little ugliness is accepted to keep the binary file format compatible. No functional change yet. llvm-svn: 84020 --- llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp') diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp index 50b99ae383b..4eb12c69eb6 100644 --- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp @@ -1164,7 +1164,8 @@ bool BitcodeReader::ParseConstants() { case bitc::CST_CODE_INLINEASM: { if (Record.size() < 2) return Error("Invalid INLINEASM record"); std::string AsmStr, ConstrStr; - bool HasSideEffects = Record[0]; + bool HasSideEffects = Record[0] & 1; + bool IsMsAsm = Record[0] >> 1; unsigned AsmStrSize = Record[1]; if (2+AsmStrSize >= Record.size()) return Error("Invalid INLINEASM record"); @@ -1178,7 +1179,7 @@ bool BitcodeReader::ParseConstants() { ConstrStr += (char)Record[3+AsmStrSize+i]; const PointerType *PTy = cast(CurTy); V = InlineAsm::get(cast(PTy->getElementType()), - AsmStr, ConstrStr, HasSideEffects); + AsmStr, ConstrStr, HasSideEffects, IsMsAsm); break; } } -- cgit v1.2.3