diff options
author | Devang Patel <dpatel@apple.com> | 2008-09-02 21:47:13 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2008-09-02 21:47:13 +0000 |
commit | f30ee90ec50f1eeafbc110bedf7058bbde45875e (patch) | |
tree | 8dd92f3cbe4863525ae5bb5c18bed17606dfbbdb | |
parent | 52472e27caa16a8381c4bf997bebf1da8c49c786 (diff) | |
download | external_llvm-f30ee90ec50f1eeafbc110bedf7058bbde45875e.zip external_llvm-f30ee90ec50f1eeafbc110bedf7058bbde45875e.tar.gz external_llvm-f30ee90ec50f1eeafbc110bedf7058bbde45875e.tar.bz2 |
Read and write function notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55657 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Bitcode/Reader/BitcodeReader.cpp | 3 | ||||
-rw-r--r-- | lib/Bitcode/Writer/BitcodeWriter.cpp | 1 | ||||
-rw-r--r-- | test/Assembler/2008-09-02-FunctionNotes.ll | 5 |
3 files changed, 8 insertions, 1 deletions
diff --git a/lib/Bitcode/Reader/BitcodeReader.cpp b/lib/Bitcode/Reader/BitcodeReader.cpp index 79d8638..0d6b6f2 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 dd161ba..b8aab5a 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 2751b64..ba886b1 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 +} |