From: Devang Patel Date: Tue, 2 Sep 2008 21:47:13 +0000 (+0000) Subject: Read and write function notes. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7ad033c9e7a6b164fe971be82f6dc8ec9dc977b3;p=oota-llvm.git Read and write function notes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55657 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Bitcode/Reader/BitcodeReader.cpp b/lib/Bitcode/Reader/BitcodeReader.cpp index 79d863833dd..0d6b6f2edbe 100644 --- a/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/lib/Bitcode/Reader/BitcodeReader.cpp @@ -1197,6 +1197,9 @@ bool BitcodeReader::ParseModule(const std::string &ModuleID) { return Error("Invalid GC ID"); Func->setGC(GCTable[Record[8]-1].c_str()); } + if (!isProto && Record.size() > 9 && Record[9]) { + Func->setNotes(Record[9]); + } ValueList.push_back(Func); diff --git a/lib/Bitcode/Writer/BitcodeWriter.cpp b/lib/Bitcode/Writer/BitcodeWriter.cpp index dd161bacfb3..b8aab5acc19 100644 --- a/lib/Bitcode/Writer/BitcodeWriter.cpp +++ b/lib/Bitcode/Writer/BitcodeWriter.cpp @@ -412,6 +412,7 @@ static void WriteModuleInfo(const Module *M, const ValueEnumerator &VE, Vals.push_back(F->hasSection() ? SectionMap[F->getSection()] : 0); Vals.push_back(getEncodedVisibility(F)); Vals.push_back(F->hasGC() ? GCMap[F->getGC()] : 0); + Vals.push_back(F->getNotes()); unsigned AbbrevToUse = 0; Stream.EmitRecord(bitc::MODULE_CODE_FUNCTION, Vals, AbbrevToUse); diff --git a/test/Assembler/2008-09-02-FunctionNotes.ll b/test/Assembler/2008-09-02-FunctionNotes.ll index 2751b6419da..ba886b1a010 100644 --- a/test/Assembler/2008-09-02-FunctionNotes.ll +++ b/test/Assembler/2008-09-02-FunctionNotes.ll @@ -1,5 +1,5 @@ ; Test function notes -; RUN: llvm-as < %s -f -o /dev/null +; RUN: llvm-as < %s | llvm-dis | grep inline | count 2 define void @fn1() notes(inline=always) { ret void @@ -9,3 +9,6 @@ define void @fn2() notes(inline=never) { ret void } +define void @fn3() { + ret void +}