aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2008-09-02 21:47:13 +0000
committerDevang Patel <dpatel@apple.com>2008-09-02 21:47:13 +0000
commit7ad033c9e7a6b164fe971be82f6dc8ec9dc977b3 (patch)
tree8dd92f3cbe4863525ae5bb5c18bed17606dfbbdb
parent1b47e48a6412de57b20d8b3869796e3b7ce2dcaa (diff)
downloadexternal_llvm-7ad033c9e7a6b164fe971be82f6dc8ec9dc977b3.zip
external_llvm-7ad033c9e7a6b164fe971be82f6dc8ec9dc977b3.tar.gz
external_llvm-7ad033c9e7a6b164fe971be82f6dc8ec9dc977b3.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.cpp3
-rw-r--r--lib/Bitcode/Writer/BitcodeWriter.cpp1
-rw-r--r--test/Assembler/2008-09-02-FunctionNotes.ll5
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
+}